1. ホーム
  2. python

[解決済み] Pythonです。Unicode and "\xe2x80</p> <p>Driving me batty

2022-02-16 05:20:15

質問

Google DocsからDavid Foster Wallaceのquot;Oblivion"からのいくつかの行を含む.txtファイルを持っています。使用しています。

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()とか、どこをどうすればいいんだ? 3だとI/Oバッファエラーが出るので、Python 2を使っています。 ありがとうございます。

どのように解決するのですか?

試す openencoding として utf-8 :

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