1

編集:これらのライブラリを python 3.3 で動作させようとするのは明らかに間違ったアプローチでした。私の問題はまったく異なるため、新しい質問で再質問します。

setAlbumName("folderPath\song.mp3", "albumname") のような Python コマンドを使用して、mp3 ファイルの ID3 タグを編集できるようにしたいと考えています。これまでのところ、Mutagen、PyID3、pytagger、eyeD3 を試しましたが、構文エラーが原因でインストールが失敗するため、それらはすべて古くなっているようです。eyeD3 で修正しようとしましたが、行き止まりになりました: http://i41.tinypic.com/o6zklv.png (すべてのプリントを修正した後の 2 番目のスクリーンショットと「エラー、e」などを除く) .

Mutagen でも同じことを試しましたが、そこでも「raise KeyError, key」を「raise KeyError as key」に置き換えると壁にぶつかりました。

私はこれをどうするかさえ知りませんでした(pytagger):http://i41.tinypic.com/29fz7mh.png

私のpythonのインストールに何か問題があることを示唆しているようですか?それには入りません。

それで、誰か私に動作する ID3 パッケージを教えてくれませんか、それとも古いものを修正してみませんか?

(また、「python setup.py install」と「setup.py install」の両方を試しましたが、違いはないようでした。私はWindows 8を使用しています。)

編集:以下のスクリーンショットとソースコード(Python 2.7.5による変異誘発)

from mutagen.mp3 import MP3
p = "E:\\Musik\\Aeon\\2005 Bleeding the False\\01 Cenobites - Copy.mp3"
audio = MP3(p)
audio["title"] = "An example"
audio.pprint()
audio.save()

_

Traceback (most recent call last):
  File "id3tag.py", line 5, in <module>
    audio.pprint()
  File "C:\Python27\lib\site-packages\mutagen\__init__.py", line 138, in pprint
    try: tags = self.tags.pprint()
  File "C:\Python27\lib\site-packages\mutagen\id3.py", line 190, in pprint
    frames = list(map(Frame.pprint, self.values()))
TypeError: unbound method pprint() must be called with Frame instance as first a
rgument (got str instance instead)

_

from mutagen.mp3 import MP3
p = "E:\\Musik\\Aeon\\2005 Bleeding the False\\01 Cenobites - Copy.mp3"
audio = MP3(p)
audio["title"] = "An example"
audio.save()

_

Traceback (most recent call last):
  File "id3tag.py", line 7, in <module>
    audio.save()
  File "C:\Python27\lib\site-packages\mutagen\__init__.py", line 132, in save
    return self.tags.save(filename, **kwargs)
  File "C:\Python27\lib\site-packages\mutagen\id3.py", line 370, in save
    framedata = [self.__save_frame(frame) for (key, frame) in frames]
  File "C:\Python27\lib\site-packages\mutagen\id3.py", line 461, in __save_frame

    framedata = frame._writeData()
AttributeError: 'str' object has no attribute '_writeData'
4

2 に答える 2

1

Mutagen には、ファイルのタイトルの変更などの簡単なタスクを処理する EasyID3 ツールもあります。

from mutagen.easyid3 import EasyID3
f = EasyID3("file.mp3")
f["title"] = u"Some title"
f.save()

魅力のように機能します。ただし、機能が非常に制限されています。http://code.google.com/p/mutagen/wiki/Tutorialでその他の例を参照してください。

于 2013-10-24T12:58:19.193 に答える