我使用Windows系统的Python 2.6版本。我使用os.walk来读取文件树,文件名中可能有非7位字符(例如德语中的“ae”),这些字符被编码为Python内部字符串表示形式。我正在使用Python库函数处理这些文件名,但由于编码错误而失败了。
如何将这些文件名转换为正确的(Unicode?)Python字符串?我有一个名为"d:\utest\ü.txt"的文件,以Unicode格式传递路径无法工作:
>>> list(os.walk('d:\\utest'))
[('d:\\utest', [], ['\xfc.txt'])]
>>> list(os.walk(u'd:\\utest'))
[(u'd:\\utest', [], [u'\xfc.txt'])]