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中使用判断语句和循环的教程
Apr 25 Python
python中json格式数据输出的简单实现方法
Oct 31 Python
Python 多进程并发操作中进程池Pool的实例
Nov 01 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
Dec 19 Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 Python
深入浅析python的第三方库pandas
Feb 13 Python
Python使用socketServer包搭建简易服务器过程详解
Jun 12 Python
python 图像插值 最近邻、双线性、双三次实例
Jul 05 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
Sep 14 Python
Python实现AES加密,解密的两种方法
Oct 03 Python
pandas抽取行列数据的几种方法
Dec 13 Python
教你怎么用Python生成九宫格照片
May 20 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入门的学习方法
2007/01/02 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
十大使用PHP框架的理由
2015/09/26 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
express框架下使用session的方法
2019/07/31 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
python批量提取word内信息
2015/08/09 Python
django反向解析和正向解析的方式
2018/06/05 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
基于Django统计博客文章阅读量
2019/10/29 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
护理自荐信范文
2013/10/05 职场文书
教师求职推荐信范文
2013/11/20 职场文书
婚前协议书范本
2014/04/15 职场文书
2015年元旦活动总结
2014/05/09 职场文书
元宵节寄语大全
2015/02/27 职场文书
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers
python playwright之元素定位示例详解
2022/07/23 Python