4

mp3 ファイルを含むフォルダーに次の python スクリプトがあります。

import os
import eyed3

def track(file):
    tag = eyed3.load(file)
    tag.tag.comment = u"teststring"
    tag.tag.genre = u"Pop"
    tag.tag.save()

for fn in os.listdir('.'):
    print fn[-3:]
    if fn[-3:] == 'mp3':
        track(fn)

「ジャンル」は正しく設定または変更されていますが、私のコメントはゴミを追加しているだけです。winamp の「テスト」をコメントに追加し、スクリプトを実行してコマンドラインから ID3 情報を出力すると、次のように表示されます。

ys3(01).mp3 [ 3.86 MB ]
-------------------------------------------------------------------------------
Time: 03:02 MPEG1, Layer III    [ ~177 kb/s @ 48000 Hz - Joint stereo ]
-------------------------------------------------------------------------------
ID3 v2.3:
title: WANDERERS FROM YS    - ?
artist: 
album: 
track:      genre: Pop (id 13)
Comment: [Description: ] [Lang: eng]
Test
Comment: [Description: ÿþÿ] [Lang: eng]
þ
-------------------------------------------------------------------------------

「コメント」を間違った方法で渡していますか?

4

1 に答える 1

2

なぜこれがそうなのかを理解するふりはしませんが、便利なサンプル ファイルでコメントがどのように設定されているかを確認してください。

from eyed3.id3 import Tag

t = Tag()
t.comments.set(u"Gritty, yo!")

これはコメントがフレームに配置されていることに関係していると思いますが、他の人はそれを修正する必要があるかもしれません. Unicode を渡さないと失敗することに注意してください。

これはバージョンで動作します:

↪ eyeD3 --version
eyeD3 0.7.4-beta (C) Copyright 2002-2013 Travis Shirk
于 2014-07-24T15:47:24.083 に答える