Python编程修改MP3文件名称的方法

作者:不得闲 时间:2021-10-26 07:56:36 

本文实例讲述了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,文件名称
0
投稿

猜你喜欢

  • Python实现的排列组合、破解密码算法示例

    2022-01-03 10:42:29
  • PyQt5每天必学之滑块控件QSlider

    2021-11-21 09:50:17
  • python中argparse模块基础及使用步骤

    2023-01-26 19:21:59
  • HTML5拿什么取代Flash?

    2010-05-10 20:37:00
  • Python中的异常处理try/except/finally/raise用法分析

    2023-12-11 21:37:41
  • Go语言区别于其他语言的特性

    2023-06-26 02:52:10
  • django的分页器Paginator 从django中导入类

    2022-02-07 04:24:29
  • PHP扩展之kafka安装应用案例详解

    2023-09-06 09:53:43
  • 学会Python数据可视化必须尝试这7个库

    2022-03-26 20:37:25
  • Python学习之configparser模块的使用详解

    2022-07-21 23:21:25
  • TensorFlow神经网络学习之张量与变量概念

    2023-07-06 20:58:02
  • Python实现的matplotlib动画演示之细胞自动机

    2022-05-23 15:49:09
  • python 中 .py文件 转 .pyd文件的操作

    2022-02-17 09:59:38
  • XML十项特点

    2008-04-05 13:49:00
  • Python实现链表反转的方法分析【迭代法与递归法】

    2021-07-07 17:56:37
  • 用python监控服务器的cpu,磁盘空间,内存,超过邮件报警

    2023-04-22 07:13:38
  • Python中使用md5sum检查目录中相同文件代码分享

    2022-10-31 19:57:59
  • Python装饰器使用示例及实际应用例子

    2022-01-16 01:59:32
  • Python之requests的使用(二)

    2021-10-30 16:44:51
  • python中什么是面向对象

    2021-02-19 04:13:08
  • asp之家 网络编程 m.aspxhome.com