windows下python打開中文路徑文件出現問題

編寫了下面這個程序:

#-*-encoding:utf-8-*-

f = open('G:\\測試.txt')
print f.read()


文件是確實存在的,且以utf-8編碼。可是運行時候出現問題: python

IOError: [Errno 2] No such file or directory: 'G:\\\xe6\xb5\x8b\xe8\xaf\x95.txt'



一個解決方法是,將文件名字符串轉換爲unicode編碼:
#-*-encoding:utf-8-*-

f = open('G:\\測試.txt'.decode('utf-8'))
print f.read()



運行正常。

同時建立文件的時候也應該進行轉換,如果
#-*-encoding:utf-8-*-

f = open('G:\\你好.txt', 'w')
f.write("你好")



生成的文件名是: 浣犲ソ.txt,赤裸裸的亂碼。而改爲這樣既可:

#-*-encoding:utf-8-*-

f = open('G:\\你好.txt'.decode('utf-8'), 'w')
f.write("你好")


上面的解決方法在utf-8環境的linux下運行也是正常的,因此具備移植性。 linux

相關文章
相關標籤/搜索