原创  2015年12月20日 18:40:13



  • 7061
  • 0
  • 1


Python读取中文路径时可能会出错:编码问题

方法一:路径拆分单独编码

1. <span style="font-size:14px;"># -*- coding: utf-8 -*-  
2. # Python2.7.9  
3. # 2015年12月20日 18:34:46  
4. # 如果读取路径中含有中文,可将路径拆分,并对中文部分进行unicode编码  
5.   
6. import os  
7.   
8. filenames = os.listdir("C:\Users\lenovo\Desktop")    # 纯英文路径  
9. filenames2 = os.listdir("C:\Users\lenovo\Desktop"+u"\中文测试文件夹")  
10.   
11. # 注意:拆分时,第一个部分最后不能是反斜线\,即不能这样拆分:  
12. # C:\Users\lenovo\Desktop\"+u"中文测试文件夹"  
13. # 否则会报错,具体可自行测试。</span>



方法二:对路径整体编码unicode格式

1. <span style="font-size:14px;">path=unicode("C:\Users\lenovo\Desktop\中文测试文件夹","utf-8")  
2. filenames = os.listdir(path)</span>


方法三:用raw_input方式输入路径,路径中可以含有中文






1. path = raw_input(u"请输入文件目录:")  
2. filenames = os.listdir(path)


Python读取中文路径时可能会出错:编码问题

方法一:路径拆分单独编码






1. <span style="font-size:14px;"># -*- coding: utf-8 -*-  
2. # Python2.7.9  
3. # 2015年12月20日 18:34:46  
4. # 如果读取路径中含有中文,可将路径拆分,并对中文部分进行unicode编码  
5.   
6. import os  
7.   
8. filenames = os.listdir("C:\Users\lenovo\Desktop")    # 纯英文路径  
9. filenames2 = os.listdir("C:\Users\lenovo\Desktop"+u"\中文测试文件夹")  
10.   
11. # 注意:拆分时,第一个部分最后不能是反斜线\,即不能这样拆分:  
12. # C:\Users\lenovo\Desktop\"+u"中文测试文件夹"  
13. # 否则会报错,具体可自行测试。</span>



方法二:对路径整体编码unicode格式

1. <span style="font-size:14px;">path=unicode("C:\Users\lenovo\Desktop\中文测试文件夹","utf-8")  
2. filenames = os.listdir(path)</span>

方法三:用raw_input方式输入路径,路径中可以含有中文

1. path = raw_input(u"请输入文件目录:")  
2. filenames = os.listdir(path)