Python_报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in posit
Posted 翻滚的小强
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in posit相关的知识,希望对你有一定的参考价值。
Python运行后,报错:SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 2-3: truncated UXXXXXXXX escape
原因:window 读取文件可以用,但是在字符串中是被当作转义字符来使用,经过转义之后可能就找不到路径的资源了,例如 会转义为tab键
上代码:
>>> def func1(path_name): ... import os ... if os.path.exists(path_name): ... return "True" ... else: ... return "False" ... >>> func1("C:Users enyc")#会报错 File "<stdin>", line 1 SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 2-3: truncated UXXXXXXXX escape >>>
本例中:"C:Users enyc"经过转义之后就找不到路径的资源了。
解决方法:
>>> def func1(path_name): ... import os ... if os.path.exists(path_name): ... return "True" ... else: ... return "False" ... >>> func1(r"C:Users enyc")#加上r,声明字符串,不用转义处理 ‘True‘ >>> func1("C:\Users\renyc")#绝对路径的处理 ‘True‘ >>>
总结有三种方法:
一:更换为绝对路径的写法
func1("C:\Users\renyc")
二:显式声明字符串不用转义(加r)
func1(r"C:Users
enyc")
三:使用Linux的路径/
func1("C:/Users/renyc")
以上是关于Python_报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in posit的主要内容,如果未能解决你的问题,请参考以下文章
Python_报错:SyntaxError: unexpected character after line continuation character
Python_报错:SyntaxError: EOL while scanning string literal
Python解决程序运行报错:SyntaxError: non-default argument follows default argument
Python_报错:SyntaxError: 'break' outside loopIndexError: list assignment index out of range(示例
Python_报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in posit
错误记录PyCharm 运行 Python 程序报错 ( SyntaxError: Non-ASCII character ‘xe5‘ in file x.py on line 1, but )(代码