Unicode错误 - 使用python打开* .txt文件

时间:2013-12-14 22:12:05

标签: python python-3.3

当我尝试在python中读取这样的文本文件时:

x = open("C:\Users\username\Desktop\Hi.txt", 'r')

返回此错误:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

我环顾四周,发现了这个问题:"Unicode Error "unicodeescape" codec can't decode bytes... Cannot open text files in Python 3。显然我需要复制所有的反斜杠,因此Unicode不会因为我想要做的事情搞砸了。所以我做了,但是当我运行print(x)时,我得到了这个输出:

<_io.TextIOWrapper name='C:\\Users\\Sam\\Desktop\\Hi.txt' mode='r' encoding='cp1252'>

这究竟是什么,我该如何解决?我正在运行python 3.3,在IDLE中执行所有这些操作。感谢。

1 个答案:

答案 0 :(得分:3)

您需要将原始字符串与Windows样式的文件名一起使用:

x = open(r"C:\Users\username\Desktop\Hi.txt", 'r')
             ^^

否则,Python的字符串引擎认为\U是Unicode转义序列的开头 - 当然在这种情况下它不是。

然后,您不能简单地print()这样的文件,您需要首先read()

print(x.read())