私のpythonプロジェクトの一環として、utf-8でエンコードされたテキストファイルを読み込んでリストに分割する必要があります。しかし、アポストロフィが後に続く文字を使用すると、list()はutf-8を出力するようです。セイ内容で、UTF-8でエンコードされたinfile.txtというテキストファイルを取る:私はpython list()関数をutf-8に変更しました。
i like pi'
とコード
intext = open("path/infile.txt").read()
print intext
outnum = list(intext)
print outnum
をそれが出て出力します。
i like pi’
['i', ' ', 'l', 'i', 'k', 'e', ' ', 'p', 'i', '\xe2', '\x80', '\x99']
私はOSX 10.11.6でPython 2.7.10を使用する
ありがとうございます!
バイナリモードでファイルを開くと役立つことがあります。その方法は 'open(、" rb ")'です。 –
SarcasticSully
あなたはPython 2を使用している理由は何ですか? Unicodeのサポートは、Python 3のほうがはるかに堅牢です。 – tdelaney
はい、Python 2では 'str'は* bytes *のシーケンスであるためです。 'utf-8'でエンコードされたファイルを読んでいるので、個々のバイトをリストに入れるとそれが得られます。あなたは何をしたいのですか?本当にできれば、Python 3だけを使うべきです。 –