Python编程修改MP3文件名称的方法
作者:不得闲 发布时间:2021-10-26 07:56:36
标签:Python,文件名称
本文实例讲述了Python编程修改MP3文件名称的方法。分享给大家供大家参考,具体如下:
最近刚刚开始学习Python,顺便锻炼思维写的一个小函数,专门用来修改那些网上下载的mp3歌曲后名称不正确时候,使用该函数,使用方法
ModifyMp3FileInfo(r'E:/音乐/12345.mp3')
Python代码:
#!修改下载的Mp3文件名称为正确的Mp3文件
def ModifyMp3FileInfo(filename):
mp3Id3V1 = {
"tag":{"valuepos":(0,3),"value":""},
"SongName":{"valuepos":(3,33),"value":""},
"SongPeople":{"valuepos":(33,63),"value":""},
"Zj":{"valuepos":(63,93),"value":""},
"Year":{"valuepos":(93,97),"value":""},
"Bak":{"valuepos":(97,125),"value":""}
}
try:
f = open(filename,'rb')
f.seek(-128,2)
sdata = f.read(3)
if sdata == 'TAG':
f.seek(-128,2)
sdata = f.read(128)
for tag,subitem in mp3Id3V1.items():
subitem["value"] = sdata[subitem["valuepos"][0]:subitem["valuepos"][1]].replace('/00','').strip()
print '%s='%tag,'%s'%subitem["value"],'/n'
f.close()
import os
if mp3Id3V1["SongName"]["value"]!='':
test = [os.path.dirname(filename),'//']
test.append(mp3Id3V1["SongName"]["value"])
test.append('.mp3')
newfilename = ''.join(test)
print newfilename
if os.path.exists(newfilename):
test = ['Filename ',newfilename,' Has Existed']
print ''.join(test)
else:
try:
os.rename(filename,newfilename)
except WindowsError,e:
if e.winerror:
print 'Modify filename failed ,maybe the file is inuse'
else:
print 'UnKnown error'
else:
print 'Is not a MP3 file'
except IOError:
print 'Open file failed'
希望本文所述对大家Python程序设计有所帮助。


猜你喜欢
- 说到网络产品,离不开的话题就是用户,就像传统行业的消费者。人是复杂的,网民的用户行为更加复杂,用户和用户是不一样的,或者说,每个用户都不一样
- 登录注册系统是日常上网最普通的操作,我设了一个分类一步步完善注册登录系统,若哪里有误,请见谅。所用语言:php数据库 :mysql本次实现功
- 本文实例讲述了Python中函数及默认参数的定义与调用操作。分享给大家供大家参考,具体如下:#coding=utf8''
- python中关于删除list中的某个元素,一般有三种方法:remove、pop、del:1.remove: 删除单个元素,删除首个符合条件
- 开启MySQL的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程
- 据说在任天堂FC时代,精灵的作用相当巨大,可是那时候只知道怎么玩超级玛丽、魂斗罗,却对精灵一点也不知。pygame.sprite.Sprit
- 1.安装好JDK下载并安装好jdk-12.0.1_windows-x64_bin.exe,配置环境变量:新建系统变量JAVA_HOME,值为
- 安装:pip install wave在wav 模块中 ,主要介绍一种方法:getparams(),该方法返回的结果如下:_wave_par
- 一、概述机器学习算法在近几年大数据点燃的热火熏陶下已经变得被人所“熟知”,就算不懂得其中各算法理论,叫你喊上一两个著名算法的名字,你也能昂首
- 1. imageZMQ库实现imageZMQ库链接:https://github.com/jeffbass/imagezmq该库原本是用于树
- 人在学校,身不由己。总有一些奇奇怪怪的学习任务,需要我们刷够一定的时长去完成,但这很多都是不太令人感兴趣的文字或是视频,而这些课都有共同的特
- 正则口径:知道前后取中间,如果最后$结束python中则这表达式的方法通常由re.match re.search re.finda
- 摘要django框架本身自带有登录注册,也可以自己写登录注册,下面将介绍这这2种方式实登录注册一、自己写登录注册登出1.注册regist注册
- Mysql Cluster概述 MySql Cluster最显著的优点就是高可用性,高实时性,高冗余,扩展性强。&n
- sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分.处理命令行参数在解释器启动后, argv 列表包含了传递给脚本的
- 首先停止mysql服务: root@webserver:/home/webmaster# service mysql stop 接着采用忽略
- oracle 11g的监听日志和警告日志都是在/u01/oracle/diag/tnslsnr/oracle/listener目录和/u01
- 最近在学着用easyui,发现框架用起来果然是方便简洁,能弄出这框架的都是大神级别了吧,牛啊....今天碰到这个应用可以说是让我非常之无语,
- 数据类型的强制转换如果要将一个数据转换成另一个数据类型,只需要将其放入相应类型的函数中去。Number类型的数据转换强制转换为int可以转换
- HTML是万维网上发布超文本的通用语言[1]。从1982年Tim Berners-Lee简化SGML建立HTML的原始定义到2001年发布X