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 相关文章推荐
在Django中限制已登录用户的访问的方法
Jul 23 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 Python
Python Socket实现简单TCP Server/client功能示例
Aug 05 Python
Python OpenCV对本地视频文件进行分帧保存的实例
Jan 08 Python
django框架model orM使用字典作为参数,保存数据的方法分析
Jun 24 Python
Python脚本利用adb进行手机控制的方法
Jul 08 Python
Python利用scapy实现ARP欺骗的方法
Jul 23 Python
python Django框架实现web端分页呈现数据
Oct 31 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
Feb 20 Python
python的数学算法函数及公式用法
Nov 18 Python
一文搞懂如何实现Go 超时控制
Mar 30 Python
Python内置数据类型中的集合详解
Mar 18 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
建立动态的WML站点(二)
2006/10/09 PHP
PHP 网页过期时间的控制代码
2009/06/29 PHP
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
ThinkPHP中I(),U(),$this->post()等函数用法
2014/11/22 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
PHP chr()函数讲解
2019/02/11 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
2017/04/21 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
python类参数self使用示例
2014/02/17 Python
python if not in 多条件判断代码
2016/09/21 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
Python实现时钟显示效果思路详解
2018/04/11 Python
python八皇后问题的解决方法
2018/09/27 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
详解python metaclass(元类)
2020/08/13 Python
什么是URL
2015/12/13 面试题
自行车租赁公司创业计划书
2014/01/28 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
九一八事变演讲稿
2014/09/05 职场文书
个人催款函范文
2015/06/24 职场文书
小学毕业感言100字
2015/07/30 职场文书
驾驶员管理制度范本
2015/08/06 职场文书