【问题标题】:unicode error preventing creation of text file阻止创建文本文件的 unicode 错误
【发布时间】:2013-11-17 04:36:22
【问题描述】:

是什么导致了这个错误,我该如何解决?

(unicode 错误)“unicodeescape”编解码器无法解码位置 2-3 中的字节:截断 \UXXXXXXXX 转义

我也尝试过读取同一目录中的不同文件,但也会出现同样的 unicode 错误。

file1 = open("C:\Users\Cameron\Desktop\newtextdocument.txt", "w")
for i in range(1000000):
    file1.write(str(i) + "\n")

【问题讨论】:

  • 向我们展示错误发生时正在运行的代码。
  • 请将实际错误和代码放在问题中,而不是图片链接。链接将来可能无效,有人更容易回答问题。

标签: unicode python-3.x


【解决方案1】:

您应该在字符串文字中转义反斜杠。比较:

>>> print("\U00000023")  # single character
#
>>> print(r"\U00000023") # raw-string literal with 
\U00000023
>>> print("\\U00000023") # 10 characters
\U00000023

>>> print("a\nb")  # three characters (literal newline)
a
b
>>> print(r"a\nb") # four characters (note: `r""` prefix)
a\nb

【讨论】:

    【解决方案2】:

    \U 被视为 Unicode 文字的开头。使用原始字符串(前面的r)来防止这种翻译:

    >>> 'C:\Users'
      File "<stdin>", line 1
    SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
    >>> r'C:\Users'
    'C:\\Users'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      • 2020-02-12
      相关资源
      最近更新 更多