Python中文路径及"ValueError: invalid \x escape"的处理方法

很不凑巧,我刚好有”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\新 建文件夹
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值