+ -
当前位置:首页 → 问答吧 → python读取MP3标签重命名乱码问题

python读取MP3标签重命名乱码问题

时间:2011-04-08

来源:互联网

写了个根据MP3标签重命名的python程序,代码如下:
  1. #!/usr/bin/python
  2. #coding:utf-8
  3. from mutagen.easyid3 import EasyID3
  4. from mutagen.mp3 import MP3
  5. import os
  6. import sys

  7. def renameMp3(filename):
  8.     audio = MP3(filename, ID3=EasyID3)
  9.     newfilename = audio['artist'][0].encode('gbk') + ‘-' + audio['title'][0].encode('gbk') + '.mp3'
  10.     os.rename(filename, newfilename)
  11.     return newfilename

  12. if __name__ == '__main__':
  13.     argc = len(sys.argv)
  14.     while argc > 1:
  15.         filename = sys.argv[argc-1]
  16.         argc = argc -1
  17.         print filename, '\t-->\t', renameMp3(filename)
复制代码

一个很奇怪的问题是对于某些MP3文件重命名的文件名是乱码,而对另外一些文件能正常工作。应该是字符编码引起的问题,但是将newfilename = audio['artist'][0].encode('gbk') + ‘-' + audio['title'][0].encode('gbk') + '.mp3'中的gbk改为utf-8或utf-16后仍然不能正常工作,哪位大虾能帮忙解决下?

作者: hgdwxl   发布时间: 2011-04-08

unicode(audio['artist'][0],'utf-8')

作者: fruit_sir   发布时间: 2011-04-08