编解码器无法在 Python 中解码字节 [重复]

Posted

技术标签:

【中文标题】编解码器无法在 Python 中解码字节 [重复]【英文标题】:The codec can't decode bytes in Python [duplicate] 【发布时间】:2018-03-08 21:48:50 【问题描述】:

这是我的代码,但结果不是我想要的,

def read_message():

   quotes = open("C:\Users\Administrator\Desktop\movie_quotes.txt")
   read_file = quotes.read()
   print(read_file)
   quotes.close()

read_message()

结果表明:

File "E:/Python/p1/send_message.py", line 4
quotes = open("C:\Users\Administrator\Desktop\movie_quotes.txt")
             ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

而且我不明白确切的含义。 我的python版本是3.5.3。

【问题讨论】:

【参考方案1】:

您需要使用原始字符串、双斜杠或使用正斜杠:

r'C:\Users\Administrator\Desktop\movie_quotes.txt' 'C:\\Users\\Administrator\\Desktop\\movie_quotes.txt' 'C:/Users/Administrator/Desktop/movie_quotes.txt'

【讨论】:

这些都不适合我。【参考方案2】:

您有一个SyntaxError。这意味着错误出在您的源代码本身,而不是在执行过程中发生的事情。

在您的代码中,“\Users”中的“\U”被解释为long Unicode literal 的开头。按照其他人的建议,将反斜杠加倍或使用原始字符串文字来修复它。

【讨论】:

【参考方案3】:

你必须使用双斜线,像这样:

quotes = open("C:\\Users\\Administrator\\Desktop\\movie_quotes.txt"), 

或正斜杠:

quotes = open("C:/Users/Administrator/Desktop/movie_quotes.txt")

【讨论】:

这不会导致“unicode错误”。 肯定会的。

以上是关于编解码器无法在 Python 中解码字节 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

SyntaxError :( unicode错误)'unicodeescape'编解码器无法解码位置2-3的字节:截断 UXXXXXXXX转义[重复]

#'charmap'编解码器无法解码位置1148中的字节0x8d [重复]

UnicodeDecodeError:'ascii'编解码器无法解码位置 284 中的字节 0x93:序数不在范围内(128)[重复]

UnicodeDecodeError: 'ascii' 编解码器无法在位置解码字节 0xec

Python pandas to_excel'utf8'编解码器无法解码字节

'utf8'编解码器在python中解码('utf-8')时无法解码字节0xc3