Mutagen的OggFileType导致'类型错误:NoneType'异常

0 投票
1 回答
893 浏览
提问于 2025-04-16 00:41

我刚开始使用mutagen这个库,已经成功地用它处理了m4amp3apeafsflac格式的音频文件。不过,我在使用OggFileType这个类时遇到了麻烦。当我尝试创建OggFileType的实例时,出现了一个"TypeError: 'NoneType' object is not callable"的错误。

我搜索了很多解决方案,但关于mutagen的信息和文档非常少。任何帮助都非常感谢,谢谢。

这是我用来测试的代码片段

path = "I:\Music\Various Artists\Studio One Classics"
audiofile = "16 - Rub A Dub Style.ogg"
os.chdir(path)
OggTag = OggFileType(audiofile)
print OggTag

错误追踪信息

Traceback (most recent call last):
  File "I:\My Documents\Programming\python\music_organizer\mutagen_test.py", line 203, in <module>
    OggTag = OggFileType(audiofile)
  File "C:\Python26\lib\site-packages\mutagen\__init__.py", line 75, in __init__
    self.load(filename, *args, **kwargs)
  File "C:\Python26\lib\site-packages\mutagen\ogg.py", line 441, in load
    self.info = self._Info(fileobj)
TypeError: 'NoneType' object is not callable

1 个回答

1

你不应该直接使用 OggFileType。它是其他 Ogg 格式类的基础类,比如 OggVorbis、OggTheora 等等。这些类会正确地设置一些信息,比如 _Info、_Tags 和 _Error。这一点在 ogg.py 模块的文档中有说明:

读取和写入 Ogg 比特流和页面。

这个模块可以读取和写入 Ogg 比特流格式的一个子集,版本是 0。它支持读取或写入 Ogg Vorbis 文件!如果你需要处理 Ogg Vorbis 文件,应该使用 mutagen.oggvorbis。

撰写回答