编解码器无法在Python中解码字节

时间:2017-09-27 11:58:40

标签: python unicode

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

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。

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

你有SyntaxError。这意味着错误发生在源代码本身,而不是在执行过程中发生的错误。

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

答案 2 :(得分:0)

你必须使用双斜杠,如下所示:

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

或正斜杠:

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