我想将一个简单的文本文件导入Python。例如,这里是example.txt
:
hello
my
friend
很简单。但是,当我尝试导入文件并阅读它时:
f = open('example.txt')
f.read()
我收到以下错误:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
f.read()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)
这个问题的根源是什么?显然,文件中没有任何非ascii字符。
我已经在IDLE,终端(Mac OSX)和Rodeo中尝试了这一点,并且在所有方面都遇到了类似的问题。
我对Python很陌生,我担心我可能在安装时搞砸了。我多年来一直在下载各种版本,直接来自Python,Anaconda,macports等等,我想知道各种来源是不是很好玩......
OSX 10.11.4上的Python 3.5.1。
答案 0 :(得分:1)
也许您的文件使用编码UTF-8 with BOM
(字节顺序标记)保存。尝试将文件显式保存为UTF-8
(无BOM)。虽然BOM不包含在ASCII
编解码器中,但它会导致UnicodeError
。
希望这有帮助!