如何在 python 编程中查看和编辑元标记

Posted

技术标签:

【中文标题】如何在 python 编程中查看和编辑元标记【英文标题】:how to view and edit meta tags in python programming 【发布时间】:2015-03-15 07:04:14 【问题描述】:

我使用过其他编程语言(如 java)来编辑元标记,但每次我只能编辑流派标记中的数字。

我在很多软件中看到,比如 media monkey,我们可以用我们想要的名字来编辑流派标签。

目前,流派标签只允许写入从 1 到 79 的数字,而不是字符串。

示例代码:

from ID3 import *
    try:
      id3info = ID3('/some/file/moxy.mp3')
      print id3info
      id3info['TITLE'] = "Green Eggs and Ham"
      id3info['ARTIST'] = "Moxy Früvous"
          for k, v in id3info.items():
            print k, ":", v
        except InvalidTagError, message:
          print "Invalid ID3 tag:", message

如何在 python 中使用我想要的字符串编辑流派标签?

谢谢

【问题讨论】:

看起来 ID3 将流派定义为整数,mappable to a genre -- 您可以检查具有字符串流派的 mp3 以查看它们的存储位置。 你用的是什么ID3包? 我刚刚用 pytagger 尝试了它(我的答案中的包链接),并且能够将流派设置为任意字符串。 pytagger 是纯 python,所以你应该可以在任何操作系统上安装它而无需编译任何东西。 【参考方案1】:

ID3v1 仅支持流派的一字节数值。

ID3v2 有broader support for metadata。在 ID3v2 中,您可以使用流派字符串设置 TCON 框架。

例如,使用pytagger 包:

import tagger

id3 = tagger.ID3v2(r'whatever.mp3')

tagged = False
# Try to find a TCON frame to replace the contents
for frame in id3.frames:
    if frame.fid == 'TCON':
        frame.set_text('Blues')
        tagged = True
# There were no TCON frames, add one
if not tagged:
    genre = id3.new_frame('TCON')
    genre.set_text('Blues')
    id3.frames.append(genre)

id3.commit()

【讨论】:

以上是关于如何在 python 编程中查看和编辑元标记的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中关注元刷新

标记为“可编辑=假”的字段如何工作

如何使用 PHP 或 JavaScript 在网页正文中显示描述元标记的内容?

如何在 JavaScript 中添加元标记

如何以编程方式为 URL 数据库生成相关标签?

使用 MVC-5 在查看页面中添加元标记