2014-02-27 96 views
0
import os 

path="." 
dirList=os.listdir(path) 

for fileName in dirList: 
    print fileName 

閱讀日本名文件,如果文件名是日本,打印到控制檯將是不正確(如?????。CSV,???? abc.csv)如何正確地蟒蛇在Windows

open('XXX.csv').readlines() 

如果文件名是日本, IO錯誤:沒有這樣的文件或目錄:\做XE4 \ XB8 \ xbcABC.csv

+0

怎麼樣:http://stackoverflow.com/questions/3089700/python-not-opening-japanese - 文件名 – jmunsch

+0

完美@jmunsch –

+0

python2庫是非常糟糕的,當涉及到unicode支持,一些庫有向後兼容的「解決方法」,但一些其他庫(如子進程)don 「T。 – pasztorpisti

回答

0

所有的問題,謝謝

1)如果你想獲得的文件名是不是英語(如日本,中國)的os.listdir正確(不???。CSV) 您可以在路徑字符串之前外接U listdir doesn't print non-english letters correctly

2 )如果你想打開一個文件,你可以使用file.decode( 'UTF-8')

#-*- coding: utf-8 -*- 
import os 

dirList=os.listdir(u"C:\\") 

for file in dirList: 
    print file 
    file2 = file.decode('UTF-8') 
    count = len(open('C:\\' + file2).readlines()) 
    print count