编辑:试图让这些库在python 3.3中运行显然是错误的方法,现在我的问题完全不同了,所以我只是在一个新问题中重新提出它。
我希望能够使用python命令编辑mp3文件的ID3标签,例如setAlbumName(“folderPath \ song.mp3”,“albumname”)。到目前为止,我已经尝试过Mutagen,PyID3,pytagger,eyeD3,它们似乎都已过时,因为安装因语法错误而失败。我试图在eyeD3中修复它,但我遇到了死胡同:http://i41.tinypic.com/o6zklv.png(我修复了所有打印件之后的第二个屏幕截图,“除了错误,e”等等)。
我尝试使用Mutagen,但是当我用“将KeyError作为键”替换“raise KeyError,key”时,我也遇到了一堵墙。
我甚至不知道该怎么做(pytagger):http://i41.tinypic.com/29fz7mh.png
似乎表明我的python安装有问题?没进入。
那么,是否有人愿意向我指出一个有效的ID3套餐,或者去修复一个过时的套餐?
(另外,我尝试了“python setup.py install”和“setup.py install”,它似乎没什么区别。我在Windows 8上。)
编辑:从下面的截图中,加上源代码(mutagen with 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'
答案 0 :(得分:1)
mutagen对我很有用。
例子: https://code.google.com/p/mutagen/wiki/Tutorial
from mutagen.mp3 import MP3
audio = MP3("example.mp3")
audio["title"] = "An example"
audio.pprint()
audio.save()
P.S。请发布代码示例,以便人们可以提供帮助..不是指向屏幕截图的链接。
p.p.s。看起来你正在尝试将Python2库安装到Python3中。
答案 1 :(得分:1)
Mutagen还有一个EasyID3工具,可以处理简单的任务,比如更改文件的标题:
from mutagen.easyid3 import EasyID3
f = EasyID3("file.mp3")
f["title"] = u"Some title"
f.save()
像魅力一样工作。但它的功能非常有限。 请参阅http://code.google.com/p/mutagen/wiki/Tutorial
上的更多示例