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的re模块应用实例
Sep 26 Python
python中偏函数partial用法实例分析
Jul 08 Python
mysql 之通过配置文件链接数据库
Aug 12 Python
python正则表达式re之compile函数解析
Oct 25 Python
Python中装饰器高级用法详解
Dec 25 Python
python PyTorch预训练示例
Feb 11 Python
Python单元测试简单示例
Jul 03 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
python创建ArcGIS shape文件的实现
Dec 06 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
python将unicode和str互相转化的实现
May 11 Python
Python如何实现感知器的逻辑电路
Dec 25 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
jQuery 使用手册(二)
2009/09/23 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
在iFrame子页面里实现模态框的方法
2018/08/17 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
在vue中使用vant TreeSelect分类选择组件操作
2020/11/02 Javascript
Python 文件操作实现代码
2009/10/07 Python
详解Python开发中如何使用Hook技巧
2017/11/01 Python
Python with语句上下文管理器两种实现方法分析
2018/02/09 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
使用django自带的user做外键的方法
2020/11/30 Python
Weblogc domain问题
2014/01/27 面试题
外贸实习生自荐信范文
2013/11/24 职场文书
父母对孩子的寄语
2014/04/09 职场文书
暑期培训班招生方案
2014/08/26 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
党员心得体会范文2016
2016/01/23 职场文书
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技