Python中文路径及"ValueError: invalid \x escape"的处理方法
2017-09-15 22:51
1536 查看
很不凑巧,我刚好有”e:\xx\新建文件夹”这么一个路径,把Python路径问题踩了个遍。
原始代码为:
结果为:
运行结果为:
结果为
所以尽量还是在路径中使用
最终结果为:
原始代码为:
input_path="e:\xx\新建文件夹" print input_path
结果为:
File "xxxxx.py", line 1 SyntaxError: Non-ASCII character '\xe6' in file xxxxx.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
通过以下三个步骤解决问题:
1. 加入#coding=utf-8
Python2中默认的编码为ASCII,显示中文字符肯定会有问题,需要在文件第一行,即shabang行中加入#coding=utf-8#coding=utf-8
input_path="e:\xx\新建文件夹" print input_path
运行结果为:
e:\xx\鏂板缓鏂囦欢澶
2. 使用unicode()处理路径
#coding=utf-8 input_path="e:\xx\新建文件夹" output_path = unicode(input_path , "utf8") print output_path
结果为
ValueError: invalid \x escape
3. 处理\x问题
按上面的代码运行会出现”ValueError: invalid \x escape”错误,因为\x在Python中会认为是16进制数据。所以尽量还是在路径中使用
\\或者在字符串前加r
input_path="e:\\xx\\新建文件夹" input_path=r"e:\xx\新建文件夹"
#coding=utf-8 input_path=r"e:\xx\新建文件夹" output_path = unicode(input_path , "utf8") print output_path
最终结果为:
e:\xx\新建文件夹
相关文章推荐
- Python中文路径及"ValueError: invalid \x escape"的处理方法
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- 【随笔记录】python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- 基于python 处理中文路径的终极解决方法
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- sqlite3 jdbc、c接口、python接口处理中文时遇到的问题及其解决方法
- 在Python中处理中文路径
- python3访问sina首页中文的处理方法
- python中读写文件及中文编码处理方法
- python3访问sina首页中文的处理方法
- 使用gstreamer播放的媒体文件路径带中文时的处理方法
- Python处理中文文本字符时提取某个汉字或字符的方法
- Sharepoint 站点下应用程序虚拟路径下出现"不能进行输出缓存处理",错误ID 5787 解决方法
- Qt5处理绝对路径中含中文的文件方法
- Python中中文路径处理问题的研究
- 【python】 关于去掉转义字符\,输出中文字符(decode("string_escape"))
- python处理字符串时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- sqlite3 jdbc、c接口、python接口处理中文时遇到的问题及其解决方法
- python3 网址路径中带中文的处理办法