【问题标题】:The codec can't decode bytes in Python [duplicate]编解码器无法在 Python 中解码字节 [重复]
【发布时间】: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。

【问题讨论】:

    标签: python unicode


    【解决方案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错误”。
      • 肯定会的。
      猜你喜欢
      • 2011-06-29
      • 2011-12-13
      • 2013-08-20
      • 2013-09-09
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 2014-10-19
      相关资源
      最近更新 更多