当我尝试在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中完成所有这些操作。谢谢。
最佳答案
您需要将原始字符串与Windows样式的文件名一起使用:
x = open(r"C:\Users\username\Desktop\Hi.txt", 'r')
^^
否则,Python的字符串引擎会认为
\U
是Unicode转义序列的开始-在这种情况下当然不是。然后,您不能简单地
print()
这样的文件,您需要先read()
该文件:print(x.read())