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使用nntp读取新闻组内容的方法
May 08 Python
Python selenium如何设置等待时间
Sep 15 Python
TensorFlow实现Logistic回归
Sep 07 Python
解决Python2.7中IDLE启动没有反应的问题
Nov 30 Python
使用python对文件中的单词进行提取的方法示例
Dec 21 Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
Python Scrapy框架第一个入门程序示例
Feb 05 Python
python生成并处理uuid的实现方式
Mar 03 Python
Python yield的用法实例分析
Mar 06 Python
Python描述符descriptor使用原理解析
Mar 21 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 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
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
PHP获取MySql新增记录ID值的3种方法
2014/06/24 PHP
php命令行用法入门实例教程
2014/10/27 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
webpack源码之loader机制详解
2018/04/06 Javascript
原生JavaScript实现刮刮乐
2020/09/29 Javascript
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python help()函数用法详解
2014/03/11 Python
python3序列化与反序列化用法实例
2015/05/26 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
Python脚本处理空格的方法
2016/08/08 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
python实现列表的排序方法分享
2019/07/01 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
霸王洗发水广告词
2014/03/14 职场文书
电视购物广告词
2014/03/19 职场文书
护士长竞聘书
2014/03/31 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
新生入学欢迎词
2015/01/26 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
合同补充协议书
2016/03/24 职场文书
Redis三种集群模式详解
2021/10/05 Redis
Nginx配置之禁止指定IP访问
2022/05/02 Servers
Android 中的类文件和类加载器详情
2022/06/05 Java/Android