2013-12-14 64 views
2

当我尝试读取文本文件就像.txt文件,以便在python:Unicode的错误 - 开*与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不会被我想要做的事情搞砸。所以,我没有,但后来当我跑打印(X)我得到这样的输出:

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

究竟是什么,这是和我怎么解决?我正在运行Python 3.3,在IDLE中执行所有这些操作。谢谢。

回答

2

您需要使用原始字符串与Windows风格的文件名:

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

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

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

print(x.read())