PythonスクリプトからeyeD3でID3タグを読み書きする

前回のエントリで、カーオーディオに正しく認識されるMP3-CD作成のために

を行いました。
タグ変換もスクリプトで一括して行いたいと思い、eyeD3というプログラムを見つけたものの、コマンドラインからだと使いづらい。Pythonから利用するのが良さそうだと思い、やってみることにしました。
Pythonは使ったことがないので、Python入門から始まります。

Python初体験

Hello World
#!/usr/bin/python

print "Hello World!!"
$ ./a.py
Hello World!!
標準入力から読んで標準出力に出す

参考:Python でファイルを読む
print文の最後にカンマがついてるけど、こうすると改行しなくなるらしい。

#!/usr/bin/python
import sys

for line in sys.stdin:
    print line,

キーボードから入力して、CTRL-Dで表示。

$ ./a.py
hogehoge
asdf
aaaa
hogehoge
asdf
aaaa

echoからパイプで渡す。

$ echo hogehoge|./a.py
hogehoge
ファイルから読む

b.txtというテキストファイルを読む。

#!/usr/bin/python

for line in open('b.txt', 'r'):
    print line,
$ ./a.py 
hogehoge
asdf

aaaa


標準入力からファイル名を受け取り、そのファイルを読む。

#!/usr/bin/python
import sys

file=raw_input()
print file
for line in open(file, 'r'):
    print line,
$ echo b.txt|./a.py 
b.txt
hogehoge
asdf

aaaa
eyeD3を使ってMP3ファイルのID3タグを読む

参考:http://eyed3.nicfit.net/

#!/usr/bin/python
import eyeD3

tag=eyeD3.Tag()
tag.link("melt.mp3")
print tag.getArtist()
print tag.getAlbum()
print tag.getTitle()

eyeD3.Tag()でオブジェクトを作って、linkでファイルを指定する・・・ってことかな?
オブジェクト指向をよく知らないので細かいことはわかりません。

$ ./id3.py 
初音ミク
初音ミクbest
メルト

おお、できてる。
トラック番号を読むのはどうするんだろう?


とりあえずここまで。