matlab的旋律 发表于 2017-4-1 09:27:19

windows下Python打开包含中文路径名文件

    在windows使用gbx(gb2312,gbk,gb18030我也不知道是哪个)对文件名及文件路径进行编码保存。打开文件的函数中使用诸如open(filename.encode('gbk'))可以很好的解决。另外路径分隔符要写Unix风格的'/',不要写'\'.
#coding:utf8

if __name__== '__main__':
    srcfile = r"D:/测试路径/测试文件.txt"
    f = open(srcfile.decode('utf8').encode('gbk'))
    for text in f.readlines():
      print text.decode('gbk')
    f.close()
或者:

#coding:utf8

if __name__== '__main__':
    srcfile = u"D:/测试路径/测试文件.txt"
    f = open(srcfile.encode('gbk'))
    for text in f.readlines():
      print text.decode('gbk')
    f.close()
上述两种方法均可。
另外,不要下面被这句话干扰:

print text.decode('gbk')
它只表示文件内容是用gbk编码的
页: [1]
查看完整版本: windows下Python打开包含中文路径名文件