您的位置:首页 > 编程语言 > Python开发

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\新建文件夹
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐