3
我们很多人都可能遇到这个问题,但我在unicode处理方面很差。这里是问题: 这是一个代码片段,我想执行.exe文件,检查文件路径是否存在,但没有运气:python中非英文文件名的文件操作
#Python 2.6.7
filePath = 'C:\\Test\\' # Test folder haveing file BitComet_比特彗星_1_25.exe
for (adir, dirs, files) in os.walk(rootdir):
for f in files:
path = os.path.join(adir,f)
if os.path.exists(path):
print'Path Found',path
#Extract file
#logging(path)
else:
print 'Path Not Found'
#logging(path)
我总是得到结果“路径不发现”。我试图用path.decode(“UTF-8”):
但脚本读取文件路径为:
C:\Test\BitComet_????_1_25.exe
而且,由于该文件路径不存在,它关系到else分支。
请给我一个提示,以处理此unicode问题,以及它是否更好,如果我能够显示用户在cmd或日志文件中显示文件路径。
我很抱歉,如果这似乎是一个重复的职位。
真棒它的工作原理,当我试图打印路径它给错误多了一个小问题 UnicodeEncodeError:'charmap'编解码器无法编码位置55-58中的字符:字符映射到 如何处理它? –
Shashi
2013-04-05 12:13:46
这是因为Windows控制台在打印unicode时非常糟糕。请参阅[Python,Unicode和Windows控制台](http://stackoverflow.com/q/5419) – 2013-04-05 12:14:30
非常感谢分享链接。 – Shashi 2013-04-05 12:15:45