我在python 2.6for Windows上。
我使用os.walk读取文件树。文件名中可能包含非7位字符(例如德语“ae”)。它们用Pythons内部字符串表示进行编码。
我正在用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'])]
如果将Unicode字符串传递给
os.walk()
,将得到Unicode结果:我在寻找Python 3.0+的解决方案。会把它放在这里以备别人需要。
相关问题 更多 >
编程相关推荐