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