小编典典

“Unicode错误“unicodeescape”编解码器无法解码字节......无法在Python 3中打开文本文件

all

社区上个月审查了是否重新打开此问题并将其关闭:

原始关闭原因未解决

我在 Windows 7 机器上使用 Python 3.1。俄语是默认系统语言,utf-8 是默认编码。

查看上一个问题的答案,我尝试使用“编解码器”模块给我一点运气。这里有几个例子:

>>> g = codecs.open("C:\Users\Eric\Desktop\beeline.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \UXXXXXXXX escape (<pyshell#39>, line 1)



>>> g = codecs.open("C:\Users\Eric\Desktop\Site.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \UXXXXXXXX escape (<pyshell#40>, line 1)



>>> g = codecs.open("C:\Python31\Notes.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 11-12: malformed \N character escape (<pyshell#41>, line 1)



>>> g = codecs.open("C:\Users\Eric\Desktop\Site.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \UXXXXXXXX escape (<pyshell#44>, line 1)

我的最后一个想法是,我认为这可能是因为 Windows
将一些文件夹(例如“users”文件夹)“翻译”成俄语(尽管输入“users”仍然是正确的路径),所以我试了一下Python31
文件夹。尽管如此,还是没有运气。有任何想法吗?


阅读 127

收藏
2022-03-28

共1个答案

小编典典

问题出在字符串上

"C:\Users\Eric\Desktop\beeline.txt"

在这里,\Uin "C:\Users… 开始一个八字符的 Unicode 转义,例如\U00014321.
在您的代码中,转义符后跟字符“s”,这是无效的。

您要么需要复制所有反斜杠:

"C:\\Users\\Eric\\Desktop\\beeline.txt"

或在字符串前面加上r(以生成原始字符串):

r"C:\Users\Eric\Desktop\beeline.txt"
2022-03-28