码迷,mamicode.com
首页 > 编程语言 > 详细

Python_报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

时间:2018-10-05 01:01:06      阅读:347      评论:0      收藏:0      [点我收藏+]

标签:路径   绝对路径   linux   span   col   lse   als   position   lin   

Python运行后,报错:SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 2-3: truncated \UXXXXXXXX escape

原因:window 读取文件可以用\,但是在字符串中\是被当作转义字符来使用,经过转义之后可能就找不到路径的资源了,例如\t会转义为tab键

 

上代码:

>>> def func1(path_name):
...     import os
...     if os.path.exists(path_name):
...         return "True"
...     else:
...         return "False"
...
>>> func1("C:\Users\renyc")#会报错
  File "<stdin>", line 1
SyntaxError: (unicode error) unicodeescape codec cant decode bytes in position 2-3: truncated \UXXXXXXXX escape
>>>
本例中:"C:\Users\renyc"经过转义之后就找不到路径的资源了。

解决方法:

>>> def func1(path_name):
...     import os
...     if os.path.exists(path_name):
...         return "True"
...     else:
...         return "False"
...
>>> func1(r"C:\Users\renyc")#加上r,声明字符串,不用转义处理
True
>>> func1("C:\\Users\\renyc")#绝对路径的处理
True
>>>

总结有三种方法:

一:更换为绝对路径的写法
func1("C:\\Users\\renyc")

二:显式声明字符串不用转义(加r)
func1(r"C:\Users\renyc")

三:使用Linux的路径/
func1("C:/Users/renyc")



 

Python_报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

标签:路径   绝对路径   linux   span   col   lse   als   position   lin   

原文地址:https://www.cnblogs.com/rychh/p/9743864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!