admin管理员组文章数量:1610897
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 can't 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”)
本文标签: 报错UnicodeErrorPythonSyntaxError
版权声明:本文标题:解决Python报错:SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position... 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1728604806a1165315.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论