unicode错误阻止创建文本文件

时间:2013-11-06 03:38:53

标签: unicode python-3.x

导致此错误的原因是什么?如何解决?

  

(unicode error)'unicodeescape'编解码器无法解码位置2-3的字节:截断\ UXXXXXXXX转义

我也试过在同一个目录中读取不同的文件,同时也得到同样的unicode错误。

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

\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'