2011-05-30 33 views
6

在我的搜索中,我發現有幾個庫可以通過讀取ID3標籤來完成此操作。如果是這樣 - 哪一個最好用?我不打算寫任何只讀的數據。如何使用python讀取專輯封面?

此外,我試圖使這個應用程序儘可能便攜,所以最少量的依賴將是一個巨大的獎金。

希望得到一些建議。謝謝。

回答

16

我推薦mutagen,它是一個純粹的python庫,沒有其他依賴,它支持很多不同的音頻元數據格式/標籤(MP3,FLAC,M4A,Monkey's Audio,Musepack等)。從iTunes保存的ID3 v2.4 MP3中提取作品:

from mutagen import File 

file = File('some.mp3') # mutagen can automatically detect format and type of tags 
artwork = file.tags['APIC:'].data # access APIC frame and grab the image 
with open('image.jpg', 'wb') as img: 
    img.write(artwork) # write artwork to new image 
+0

這看起來非常好。感謝你的回答。唯一的問題是文檔 - 沒有!你能指出我在正確的方向,我可以找到什麼地方嗎?謝謝。 – Sheldon 2011-05-30 08:05:23

+0

源代碼(docstrings/comments)和Quod libet郵件列表。我(奇怪的是)在推薦它時甚至沒有考慮到缺乏適當的文檔。我已經使用它一段時間了,並且API非常簡單,您可以通過反省來解決問題,並在交互式解釋器中進行調試。 – zeekay 2011-05-30 11:05:01

+0

我想我現在已經開始瞭解它,但是你能否給我一個從mp3中讀取圖片的例子?謝謝。 – Sheldon 2011-06-01 17:58:49

1

ID3是一個相當簡單的格式。如果你只需要提取一個非常有限的子集,並且你想限制依賴關係,那麼你應該考慮看看the reference並提取你正在尋找的數據。