编辑:试图让这些库在 python 3.3 中工作显然是错误的方法,我现在的问题完全不同,所以我将在一个新问题中重新提出。
我希望能够使用 python 命令编辑 mp3 文件的 ID3 标签,例如 setAlbumName("folderPath\song.mp3", "albumname")。到目前为止,我已经尝试过 Mutagen、PyID3、pytagger、eyeD3,它们似乎都已过时,因为由于语法错误导致安装失败。我试图在 eyeD3 中修复它,但我遇到了死胡同: http: //i41.tinypic.com/o6zklv.png(在我修复了所有打印和“除了错误,e”等之后的第二张截图) .
我对 Mutagen 进行了同样的尝试,但是当将“raise KeyError, key”替换为“raise KeyError as key”不起作用时,我也遇到了障碍。
我什至不知道该怎么做这个(pytagger):http: //i41.tinypic.com/29fz7mh.png
似乎表明我的 python 安装有问题?没有进入那个。
那么,是否有人愿意向我指出一个有效的 ID3 包,或者尝试修复一个过时的包?
(此外,我尝试了“python setup.py install”和“setup.py install”,似乎没有什么区别。我在 Windows 8 上。)
编辑:从下面的屏幕截图中,加上源代码(使用 python 2.7.5 的诱变剂)
from mutagen.mp3 import MP3
p = "E:\\Musik\\Aeon\\2005 Bleeding the False\\01 Cenobites - Copy.mp3"
audio = MP3(p)
audio["title"] = "An example"
audio.pprint()
audio.save()
_
Traceback (most recent call last):
File "id3tag.py", line 5, in <module>
audio.pprint()
File "C:\Python27\lib\site-packages\mutagen\__init__.py", line 138, in pprint
try: tags = self.tags.pprint()
File "C:\Python27\lib\site-packages\mutagen\id3.py", line 190, in pprint
frames = list(map(Frame.pprint, self.values()))
TypeError: unbound method pprint() must be called with Frame instance as first a
rgument (got str instance instead)
_
from mutagen.mp3 import MP3
p = "E:\\Musik\\Aeon\\2005 Bleeding the False\\01 Cenobites - Copy.mp3"
audio = MP3(p)
audio["title"] = "An example"
audio.save()
_
Traceback (most recent call last):
File "id3tag.py", line 7, in <module>
audio.save()
File "C:\Python27\lib\site-packages\mutagen\__init__.py", line 132, in save
return self.tags.save(filename, **kwargs)
File "C:\Python27\lib\site-packages\mutagen\id3.py", line 370, in save
framedata = [self.__save_frame(frame) for (key, frame) in frames]
File "C:\Python27\lib\site-packages\mutagen\id3.py", line 461, in __save_frame
framedata = frame._writeData()
AttributeError: 'str' object has no attribute '_writeData'