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

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")


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

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

时间: 2024-10-15 11:58:16

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

Python中读取txt文本出现:SyntaxError: (unicode error) &#39;unicodeescape&#39; codec can&#39;t decode bytes in position 2-3: truncated \UXXXXXXXX escape问题解决

windows中的路径是反斜杠\,然而反斜杠\在python中有着转义字符的意义,所以在py文件中写windows文件路径的时候,要特别注意反斜杠\的使用. 下面有三种解决方式: 1 # 方式一:转义的方式 2 'c:\\users\xxx\desktop\a.txt' 3 #方式二:显式声明字符串不用转义 4 r'c:\users\xxx\desktop\a.txt' 5 #方式三:使用linux的路径 6 'c:/users/xxx/desktop/a.txt' Python中读取txt文本

出错:(unicode error) &#39;unicodeescape&#39; codec can&#39;t decode bytes in position 8-9: malformed \N character escape

报错原因:python 中 \N 是换行的意思.这里要把 N 前面的 \ 转义一下.用  \\  代替即可. Nokia_mac = np.loadtxt('data\oui\\NokiaMac2018.txt', encoding='utf-8', dtype='str') 出错:(unicode error) 'unicodeescape' codec can't decode bytes in position 8-9: malformed \N character escape 原文地址

18-(unicode error) &#39;unicodeescape&#39; codec can&#39;t decode bytes in position 16-17: truncated \uXXXX escape

读取文件时碰到问题: 1.(unicode error) 'unicodeescape' codec can't decode bytes in position 16-17: truncated \uXXXX escape 在stackoverflow上找到了答案,就是将在路径字符串前加 r : 去掉转义: path = r'C:\Users\sss\Desktop\hanyucidian.txt' with open(path, 'rb') as f: str = f.read().deco

“Unicode Error ”unicodeescape&quot; codec can&#39;t decode bytes… Cannot open text files in Python 3

“Unicode Error ”unicodeescape" codec can't decode bytes… Cannot open text files in Python 3 问题于字符串 "C:\Users\Eric\Desktop\beeline.txt" 在这里,\U启动一个八字符的Unicode转义,例如'\ U00014321`.在你的代码中,转义后面跟着字符's',这是无效的. 需要复制所有反斜杠,或者在字符串前加上r(以生成原始字符串). python

pycharm 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案背景描述

今天在运用Pycharm时遇到一个错误 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape(Unicode unicodeescape"错误)的编解码器不能解码的字节的位置:在2-3 uxxxxxxxx截断 刚开始以为是不识别,于是在python文件的头部加上 #-- coding:utf-8 -- 但是加完这个还是报错

解决vs2013下创建的python文件,到其他平台(如linux)下中文乱码(或运行时报SyntaxError: (unicode error) &#39;utf-8&#39; codec can&#39;t decode byte...)

Vs2013中创建python文件,在文件中没输入中文时,编码为utf-8的,如图 接着,在里面输入几行中文后,再次用notepad++查看其编码如下,在vs下运行也报错(用cmd运行就不会): 根据以有经验,这是字符编码的问题了,试着将python文件的转化为utf-8的,直接在notepad++上转utf-8 无bom编码格式的,保存,打开vs,会有以下提示 这里不要选择no吧,不然可能会提示以下类似的错误 如果有提示,直接关闭,不然的话,vs又会将此文件保存为ascii格式了 解决vs20

exception1:unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案

window 读取文件可以用\,但是在字符串中\是被当作转义字符来使用,所以'd:\a.txt'会被转义成'd:\a.txt'这是正确路径,所以不会报错.而'C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg '中经过转义之后可能就找不到路径的资源了,例如\t可能就转义成tab键了.python在描述路径时可以有多种方式,现列举常见的三种: 方式一:转义的方式 'd:\\a.txt' 方式二:显式声明字符串不

python3:(unicode error) &#39;utf-8&#39; codec can&#39;t decode

基本知识:在python中默认的编码格式是 utf-8.所以怎么会报不能按 utf-8来解码嘞?一头雾水啊. 问题的解决: 使用notepad++打开test.py发现文件存储的格式是ANSI 只要将保存文件的格式换成UTF-8就好了 只用notepad++打开test.py >> 菜单栏Encoding(编码)>> Convert to UTF-8(转化成utf-8) 在运行test.py问题解决 即默认的文件编码格式个python的不同 python3:(unicode err

【Error】Python:UnicodeDecodeError: ‘XXX&#39; codec can&#39;t decode bytes in position... 解决方法

错误信息: UnicodeDecodeError: 'XXX' codec can't decode bytes in position 2-5: illegal multibyte sequence 这是因为遇到了非法字符,因此在转码的过程中出现了异常.具体哪些字符是非法字符我也搞不清. [解决办法] #将获取的字符串strTxt做decode时,指明ignore,会忽略非法字符,这样就可以了 inStr2 = inStr.decode('utf-8', 'ignore') [补充] 默认的参