我的目标是使用python3(首选3.8)阅读并最终在MP3文件上设置comments标签。
我已经安装了eyed3(python3.8 -m pip install eyed3),下面的代码将加载并可以读取所有标签,除非涉及注释。我尝试从创建者的网站(http://eyed3.nicfit.net/)和GitHub站点上阅读文档,但都没有走运,而且我还没有完全理解以下代码的输出:
import eyed3
music = "/path/to/valid/music/file.mp3"
audio = eyed3.Load(music)
print(audio.tag.comments)
这吐出以下内容:
<eyed3.id3.tag.CommentsAccessor object at 0x7f54ca55d2b0>
我尝试做一个dir(audio.tag.comments),除了一堆类位和以下函数“get”,“remove”,“set”之外,它什么都不提供
使用类似:
moo = audio.tag.comments.get()
引发错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/mrhobbits/.local/lib/python3.8/site-packages/eyed3/utils/__init__.py", line 138, in wrapped_fn
return fn(*args, **kwargs)
TypeError: get() missing 1 required positional argument: 'description'
但是我找不到任何可以显示“描述”的内容,或者我可能需要更深入地研究才能获得评论信息?
我还应该提到这样做:
print(audio.tag.artist)
正常工作并返回:
Alestorm
我在这里迷路了。任何帮助都会很棒。
最佳答案
没关系,
在这里快速搜索发现,“comments”是一种列表对象,并且这样做:
audio.tag.comments[0].text
揭示了我正在寻找的信息。