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 Tkinter GUI编程入门介绍
Mar 10 Python
Python 遍历列表里面序号和值的方法(三种)
Feb 17 Python
python音频处理用到的操作的示例代码
Oct 27 Python
Python使用PIL模块生成随机验证码
Nov 21 Python
Python机器学习之决策树算法
Dec 22 Python
关于Django显示时间你应该知道的一些问题
Dec 25 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
Python IDLE清空窗口的实例
Jun 25 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
Aug 23 Python
python RC4加密操作示例【测试可用】
Sep 26 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 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过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
JavaScript脚本库编写的方法
2015/12/09 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
python实现360皮肤按钮控件示例
2014/02/21 Python
Python时间获取及转换知识汇总
2017/01/11 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
django文档学习之applications使用详解
2018/01/29 Python
Python列表解析配合if else的方法
2018/06/23 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
毕业生个人求职信范文分享
2014/01/05 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
《美丽的小路》教学反思
2014/02/26 职场文书
加油口号大全
2014/06/13 职场文书
校运会口号
2014/06/18 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
2014年售后服务工作总结
2014/11/18 职场文书
硕士学位论文评语
2014/12/31 职场文书
教你怎么用Python生成九宫格照片
2021/05/20 Python