Python で iTunes Music Library.xml を読み込む

iTunes Music Library.xml をパースしたい」みたいな話が出ていたので簡単にやってみた。

[ソース]

# -*- coding: utf-8 -*-
import plistlib


file = "iTunes Music Library.xml"

xml = plistlib.readPlist(file)

# プレイリストの一覧を出力
print "=== プレイリスト ==="
for playlist in xml["Playlists"]:
	print playlist["Name"].encode("utf-8")

# トラック(曲)の一覧を出力
print "=== トラック ==="
for track in xml["Tracks"]:
	info = xml["Tracks"][track]
	print (info["Name"] + " - " + info.get("Artist", "")).encode("utf-8")

[出力]

=== プレイリスト ===
ライブラリ
ミュージック
ムービー
テレビ番組
Podcast
Genius
再生回数
最近再生した項目
最近追加した項目
...
=== トラック ===
イロトリドリ ノ セカイ - JUDY AND MARY
Hello! Orange Sunshine - JUDY AND MARY
手紙をかくよ - JUDY AND MARY
夕暮れ - JUDY AND MARY
RADIO - JUDY AND MARY
風に吹かれて - JUDY AND MARY
BATHROOM - JUDY AND MARY
恋磁石 - ClariS
自転車 - JUDY AND MARY
...


Python だと標準で iTunes Music Library.xml のフォーマットに対応したパーサが用意されているのでだいぶ楽ですね。
読み込み速度もそんなに気にならないレベルだった。