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实现的正则表达式功能入门教程【经典】
Jun 05 Python
python ddt数据驱动最简实例代码
Feb 22 Python
分析经典Python开发工程师面试题
Apr 08 Python
Django框架模型简单介绍与使用分析
Jul 18 Python
利用python在大量数据文件下删除某一行的例子
Aug 21 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
Sep 05 Python
django rest framework 自定义返回方式
Jul 12 Python
python中np是做什么的
Jul 21 Python
Python内置函数及功能简介汇总
Oct 13 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 Python
Pygame如何使用精灵和碰撞检测
Nov 17 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 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
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
Prototype使用指南之ajax
2007/01/10 Javascript
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
python生成式的send()方法(详解)
2017/05/08 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
Django权限机制实现代码详解
2018/02/05 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
python中return如何写
2020/06/18 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
Python: glob匹配文件的操作
2020/12/11 Python
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
护理学毕业生自荐信
2013/10/02 职场文书
初中三年学生的学习自我评价
2013/11/13 职场文书
酒店员工培训方案
2014/06/02 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
Redis 限流器
2022/05/15 Redis