Python编程修改MP3文件名称的方法


Posted in Python onApril 19, 2017

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python聚类算法之DBSACN实例分析
Nov 20 Python
Python 爬虫学习笔记之单线程爬虫
Sep 21 Python
python用装饰器自动注册Tornado路由详解
Feb 14 Python
Python实现进程同步和通信的方法
Jan 02 Python
python+selenium打印当前页面的titl和url方法
Jun 22 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 Python
python中tkinter的应用:修改字体的实例讲解
Jul 17 Python
在Python 的线程中运行协程的方法
Feb 24 Python
使用pycharm和pylint检查python代码规范操作
Jun 09 Python
解决Keras自带数据集与预训练model下载太慢问题
Jun 12 Python
如何用Python绘制3D柱形图
Sep 16 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 #Python
Python连接SQLServer2000的方法详解
Apr 19 #Python
Django自定义插件实现网站登录验证码功能
Apr 19 #Python
Python列表切片用法示例
Apr 19 #Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 #Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 #Python
浅析python递归函数和河内塔问题
Apr 18 #Python
You might like
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
JavaScript简单编程实例学习
2020/02/14 Javascript
小程序实现简单语音聊天的示例代码
2020/07/24 Javascript
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
python判断字符串或者集合是否为空的实例
2019/01/23 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
Django之form组件自动校验数据实现
2020/01/14 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
Python如何将模块打包并发布
2020/08/30 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
校本教研工作制度
2014/01/22 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
委托书范文
2014/04/02 职场文书
初中家长寄语
2014/04/02 职场文书
大学生社会实践评语
2014/04/25 职场文书
医生见习报告范文
2014/11/03 职场文书
2014年工人工作总结
2014/11/25 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
旅行社计调工作总结
2015/08/12 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技