1

Pythonとplistlibを使用したplistファイルであるiTunesメディアライブラリファイルを解析しようとしています。私は簡単なPythonスクリプトを書きました:

import plistlib

plist = plistlib.readPlist('tunes.xml')
print(plist['Tracks'])

しかし、実行しようとすると、3行目でエラーが発生します。

UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 21970: ordinal not in range(128)

utf-8エンコーディングを使用してファイルをロードして使用しようとしましたbytearrayplistlib.readPlistFromBytes、それでもエラーが発生します

これを修正する最良の方法はどれですか?

4

1 に答える 1

2

これを実行しているターミナルセッションまたはコンソールがUTF-8互換に設定されていない可能性がありlocaleます。詳細については、 https://wiki.archlinux.org/index.php/Localeを参照してください。たとえば、米国英語のロケールでは、次のようになります。

export LANG=en_US.UTF-8
于 2012-12-29T06:33:52.247 に答える