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
投稿

猜你喜欢

  • vue关于eslint空格缩进等的报错问题及解决

    2024-05-10 14:09:26
  • Tensorflow获取张量Tensor的具体维数实例

    2021-12-24 20:25:10
  • asp如何做一个看他爱不爱你的小测验?

    2010-07-11 21:16:00
  • asp中如何过滤到单引号

    2009-07-05 18:38:00
  • Mysql数据库表定期备份的实现详解

    2024-01-24 11:24:35
  • Pycharm无法打开双击没反应的问题及解决方案

    2021-09-06 07:34:30
  • vue中Axios的封装与API接口的管理详解

    2024-05-02 16:23:39
  • 二级下拉菜单代码

    2008-11-01 18:18:00
  • django中forms组件的使用与注意

    2021-03-11 00:14:04
  • Python3 获取文件属性的方式(时间、大小等)

    2022-05-06 09:13:41
  • 使用sklearn的cross_val_score进行交叉验证实例

    2023-11-25 15:49:33
  • 经典分享MySQL的limit查询优化

    2011-05-05 15:47:00
  • Python+SeaTable实现生成条形码图片并写入表格

    2022-09-04 22:13:26
  • SQL Server日志清除的两种方法教程简介

    2008-05-04 20:59:00
  • 实现动画效果核心方式的js代码

    2024-04-19 10:45:39
  • JavaScript贪吃蛇的实现代码

    2023-08-31 04:41:44
  • 5种禁用html页面的缓存方法

    2007-09-30 12:12:00
  • GoLang中panic与recover函数以及defer语句超详细讲解

    2024-03-22 09:41:37
  • mYsql日期和时间函数不求人

    2024-01-24 03:51:11
  • Mysql5.7忘记root密码及mysql5.7修改root密码的方法

    2024-01-24 16:04:29
  • asp之家 网络编程 m.aspxhome.com