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读写Excel文件方法介绍
Nov 22 Python
在Python的Django框架中显示对象子集的方法
Jul 21 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
Sep 12 Python
在cmd中运行.py文件: python的操作步骤
May 12 Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 Python
Python对象与引用的介绍
Jan 24 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
python利用跳板机ssh远程连接redis的方法
Feb 19 Python
python实现的config文件读写功能示例
Sep 24 Python
python requests模拟登陆github的实现方法
Dec 26 Python
Tensorflow 多线程设置方式
Feb 06 Python
OpenCV-Python使用cv2实现傅里叶变换
Jun 09 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
PHP钩子实现方法解析
2019/05/21 PHP
JavaScript关于select的相关操作说明
2010/01/13 Javascript
jQuery生成asp.net服务器控件的代码
2010/02/04 Javascript
sails框架的学习指南
2014/12/22 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
AngularJS发送异步Get/Post请求方法
2018/08/13 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
python 判断一个进程是否存在
2009/04/09 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
python实现简单日期工具类
2019/04/24 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
python实现连连看游戏
2020/02/14 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
数据库笔试题
2013/05/09 面试题
.NET remoting的两种通道是什么
2016/05/31 面试题
大型活动策划方案
2014/01/12 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
七年级历史教学反思
2014/02/05 职场文书
小学教师师德整改措施
2014/09/29 职场文书
四群教育工作总结
2015/08/10 职场文书
珍爱生命主题班会
2015/08/13 职场文书
在Django中使用MQTT的方法
2021/05/10 Python