如何在windows下用python正确读取日文文件名
如果文件名是日文,则打印到控制台将不正确(如.csv、?abc.csv) 如果文件名为日语,如何在windows下用python正确读取日文文件名,python,encoding,character-encoding,Python,Encoding,Character Encoding,如果文件名是日文,则打印到控制台将不正确(如.csv、?abc.csv) 如果文件名为日语, IOError:没有这样的文件或目录:\xe4\xb8\xbcABC.csv所有问题都解决了,谢谢 1) 如果您想通过os.listdir正确获取非英语(如日语、中文)的文件名(非???.csv) 您可以在路径字符串之前添加u 2) 如果要打开文件,可以使用file.decode('UTF-8') 关于:python2库在unicode支持方面非常糟糕,有些库具有向后兼容的“解决方法”,但有些库(如子
IOError:没有这样的文件或目录:\xe4\xb8\xbcABC.csv所有问题都解决了,谢谢 1) 如果您想通过os.listdir正确获取非英语(如日语、中文)的文件名(非???.csv) 您可以在路径字符串之前添加u 2) 如果要打开文件,可以使用file.decode('UTF-8')
关于:python2库在unicode支持方面非常糟糕,有些库具有向后兼容的“解决方法”,但有些库(如子进程)没有。fileName=fileName.decode(“UTF-8”)(来自jmunsch的链接)仍然是IOError,将文件名更改为英文是OKTry fileName2=fileName.decode(“UTF-8”)open('fileName2')。readlines()它可以工作。但是文件名必须是日文字符串,我不能通过os.listdir()获得正确的文件名(变成?.csv),必须是硬编码文件名。这个问题可以总结为“如何通过os.listdir()获得正确的日文文件名”
import os
path="."
dirList=os.listdir(path)
for fileName in dirList:
print fileName
open('XXX.csv').readlines()
#-*- 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