亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 3.8 Mutagen 無法讀取 GEOB 標簽

Python 3.8 Mutagen 無法讀取 GEOB 標簽

PHP
不負相思意 2023-11-09 21:13:04
我將 PyDev 與 Eclipse 一起使用。Mutagen 通過 Anaconda 安裝。我有 C 語言經驗,但決定嘗試一下 Python。不知道為什么這不起作用,而且 Mutagen 的例子并不多。這是一個簡單的 mp3,我正在嘗試從中讀取標簽。我檢查了 Mutagen 規范,GEOB 類確實存在。但我不明白我錯過了什么。這是我的 python 文件:import mutagenfrom mutagen.id3 import ID3audio = ID3("Test.mp3") #path: path to filetitleData = audio.get('TIT2')print(titleData)tagData = audio.get('GEOB')  # returns None as a defaultprint(tagData)     print("Done!")這是輸出:Stupid SongNoneDone!我使用文件 Test.mp3 作為我的測試用例。如果我用十六進制編輯器打開,我會看到實際上有一個 GEOB 標簽:所以我希望看到“無”以外的輸出。任何幫助表示贊賞!
查看完整描述

2 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

我既不知道 mutagen 也不知道 Python,但根據手冊,任何文本框架(即您的TIT2)都是基于mutagen.id3.TextFrame類,具有一個.text屬性。所以當你發出:

titleData?=?audio.get('TIT2')

...你實際上是這樣做的:

titleData?=?audio.get('TIT2').text

考慮到這一點,現在看看mutagen.id3.GEOB:它沒有任何這樣的屬性。這取決于你選擇你想要得到什么——也許吧.desc?

查看完整回答
反對 回復 2023-11-09
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

要獲取具有給定標識符的所有幀,方法調用是“getall”而不是“get”。以下方法返回歌曲標題和所有 GEOB 幀。


def get_tags_mutagen(filepath):

? ? audio = ID3(filepath) #path: path to file

? ??

? ? titleData = audio.getall('TIT2')

? ? print("Song Title: ", titleData)


? ? tagData = audio.getall('GEOB')? # returns None as a default

? ? for i in tagData:

? ? ? ? print(i)


? ? return tagData


查看完整回答
反對 回復 2023-11-09
  • 2 回答
  • 0 關注
  • 214 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號