我使用Python 2.7.13、Windows 10和这里记录的eyed3包。
目标:我正在尝试创建一个脚本,可以为缺少信息的MP3文件输入任何所需的ID3元数据。
问题:脚本似乎可以正确更新元数据,但无法将信息添加到MP3属性的“详细信息”屏幕(MP3详细信息屏幕)。然而,如果在运行脚本之前手动在这些字段中输入数据,它就会正确添加元数据,并在详细信息屏幕上显示!我注意到的另一件事是,只需要在至少一个字段中输入数据,脚本就可以正确地填充所有字段。这样做似乎以某种方式初始化并允许访问字段...
眼镜蛇文档列出了示例代码,我已经在我的代码中更多或更少地遵循了它:
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属性详细信息屏幕上实际字段之间存在某种隐藏的分离?
- 我看到另一个问题,涉及到使用initTag()解决眼睛3的问题,当文件一开始没有ID3标签时。虽然我没有得到同样的错误,但我的问题可能与此相关吗?
- 我可能缺少一个导入语句吗?
- 我应该尝试使用不同的Python模块来操作ID3元数据吗?
我尝试了各种测试,但无法得出任何指向解决方案的不同结果。
感谢您提前阅读!任何帮助都将不胜感激:)