我的目标是使用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

揭示了我正在寻找的信息。

09-11 03:39