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实现给qq邮箱发送邮件的方法
May 28 Python
详解Python3中yield生成器的用法
Aug 20 Python
Python 操作MySQL详解及实例
Apr 30 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
python 字典中取值的两种方法小结
Aug 02 Python
python自动识别文本编码格式代码
Dec 26 Python
解决Jupyter因卸载重装导致的问题修复
Apr 10 Python
关于Python3爬虫利器Appium的安装步骤
Jul 29 Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 Python
python 逐步回归算法
Apr 06 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中对数据库操作的封装
2006/10/09 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
php 操作调试的方法
2012/07/12 PHP
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
js重写方法的简单实现
2016/07/10 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
面试常见的js算法题
2017/03/23 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
高二政治教学反思
2014/02/01 职场文书
大班上学期幼儿评语
2014/04/30 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
《司马光》教学反思
2016/02/22 职场文书
利用Python实时获取steam特惠游戏数据
2022/06/25 Python