所以我有一个来自Google Docs的.txt文件,其中包含来自David Foster Wallace" Oblivion"的一些内容。使用:
with open("oblivion.txt", "r", 0) as bookFile:
wordList = []
for line in bookFile:
wordList.append(line)
并返回&打印wordList我得到:
"surgery on the crow\xe2\x80\x99s feet around her eyes."
(它会截断很多文本)。但是,如果不是附加wordList,我只需
for line in bookFile:
print line
一切都很好! .read()文件也是如此 - 生成的str没有疯狂的字节表示,但是我不能按照我想要的方式操作它。
我在哪里.encode()或.decode()或者什么? 使用Python 2因为3给了我一些I / O缓冲区错误。谢谢。
答案 0 :(得分:9)
使用open
encoding
作为utf-8
:
with open("oblivion.txt", "r", encoding='utf-8') as bookFile:
wordList = bookFile.readlines()
答案 1 :(得分:0)
如果您不熟悉Python 2,并且想使用Rahul的答案
import io
with io.open("oblivion.txt", "r", encoding='utf-8') as bookFile:
wordList = bookFile.readlines()