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 相关文章推荐
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
python 脚本生成随机 字母 + 数字密码功能
May 26 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
Python数据集切分实例
Dec 08 Python
python 机器学习之支持向量机非线性回归SVR模型
Jun 26 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
Aug 09 Python
Python实现生成密码字典的方法示例
Sep 02 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
学python需要去培训机构吗
Jul 01 Python
python 读txt文件,按‘,’分割每行数据操作
Jul 05 Python
Python之京东商品秒杀的实现示例
Jan 06 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
输出控制类
2006/10/09 PHP
php session处理的定制
2009/03/16 PHP
请离开include_once和require_once
2013/07/18 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
javascript入门基础之私有变量
2010/02/23 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
常用python爬虫库介绍与简要说明
2020/01/25 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
大学活动邀请函
2014/01/28 职场文书
2015年售票员工作总结
2015/04/29 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
高中生物教学反思
2016/02/20 职场文书