Python 3使用plistlib解析iTunes库plist文件

时间:2012-12-29 05:44:22

标签: python python-3.x plist

我正在尝试解析一个iTunes媒体库文件,这是一个使用python& amp;的plist文件。 plistlib。我写了一个简单的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编码加载文件转换为bytearray并使用plistlib.readPlistFromBytes但仍然发生错误

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

有可能是您正在运行的终端会话或控制台未设置为兼容UTF-8的locale。有关详细信息,请参阅https://wiki.archlinux.org/index.php/Locale。例如,在美国英语语言环境中:

export LANG=en_US.UTF-8