编解码器无法在 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