Python:Unicode 和 "xe2x80x99" 让我大吃一惊



所以我有一个来自Google Docs的.txt文件,其中包含David Foster Wallace的"Oblivion"中的一些台词。用:

with open("oblivion.txt", "r", 0) as bookFile:
    wordList = []
    for line in bookFile:
        wordList.append(line)

并返回并打印我得到的单词列表:

"surgery on the crowxe2x80x99s feet around her eyes." 

(它截断了很多文本(。但是,如果不是附加单词列表,我只是

for line in bookFile:
    print line

一切都很好!.read(('ing文件也是如此 - 生成的str没有疯狂的字节表示,但是我无法按照我想要的方式操作它。

我在哪里 .encode(( 或 .decode(( 还是什么?使用 Python 2,因为 3 给了我一些 I/O 缓冲区错误。谢谢。

尝试open encoding utf-8

with open("oblivion.txt", "r", encoding='utf-8') as bookFile:
    wordList = bookFile.readlines()

如果你坚持使用 Python 2 并想使用 Rahul 的答案

import io
with io.open("oblivion.txt", "r", encoding='utf-8') as bookFile:
    wordList = bookFile.readlines()

最新更新