Python 2.6.5据说支持Unicode吗? listdir()如何不在IDLE中,但Python 3.1.2在IDLE中确实显示Unicode? (这是Windows 7测试)Python 2.6.5支持Unicode吗?为什么listdir()不会但Python 3.1.2确实显示Unicode?
下面的代码是相同的行为:
for dirname, dirnames, filenames in os.walk('c:\path\somewhere'):
for subdirname in dirnames:
print (os.path.join(dirname, subdirname))
for filename in filenames:
print (os.path.join(dirname, filename))
更新: unicode的是文件名,而不是在路...
的确如此。关键是在Python 2中,如果你通过传入一个Unicode字符串来明确地请求它们,你只会从'listdir()'和相关函数中获得Unicode路径名。''os.listdir('。')'给你不同的来自'os.listdir(u'。')'的结果。 – bobince 2010-06-28 11:57:55
有趣...它会显示“\ u6c34 ...”有没有一种方法来显示那些字形而不是数字? – 2010-06-28 12:00:39
“show”是什么意思?至少'print'函数/语句应该显示它们没有转义字符。否则,请将其作为新问题发布,因为它与'os.walk'无关。 – Philipp 2010-06-28 12:03:16