为此,我使用 Python 2.7.13、Windows 10 和 eyed3 包,如此处所述。
目标:我正在尝试创建一个脚本,该脚本可以为缺少信息的 MP3 文件输入任何所需的 ID3 元数据。
问题:脚本似乎可以正确更新元数据,但未能将信息添加到 MP3 属性的“详细信息”屏幕(MP3 详细信息屏幕)。但是,如果我在运行脚本之前首先在这些字段中手动输入数据,它会正确地添加元数据并将其显示在详细信息屏幕上!我注意到的另一件事是,我只需要在至少一个字段中输入数据,脚本就可以正确填充所有字段。这样做似乎以某种方式初始化并允许访问这些字段......
eyed3 文档列出了我在此处的代码中或多或少完全遵循的示例代码:
import eyed3
import eyed3.mp3
path = [path to some MP3 file]
if eyed3.mp3.isMp3File(path):
audiofile = eyed3.load(path) # load file from file path
audiofile.tag.artist = u"Artist" # u needed to denote unicode
audiofile.tag.album_artist = u"Album Artist"
audiofile.tag.album = u"Album"
audiofile.tag.save() # save altered tags
问题:
- ID3 元数据与我不知道的 MP3 属性的详细信息屏幕上看到的实际字段之间是否存在一些隐藏的分隔?
- 我看到另一个关于 eyed3 问题的问题,该问题通过使用 initTag() 当文件没有 ID3 标签开始时解决。虽然我没有得到同样的错误,但我的问题可能与此有关吗?
- 我会错过导入声明吗?
- 我应该尝试使用不同的 Python 模块来操作 ID3 元数据吗?
我已经尝试了各种测试,但无法得出任何可能指向解决方案的不同结果。
提前感谢任何碰巧花时间阅读本文的人!任何帮助表示赞赏:)