2016-03-24 11 views
-2

私はPythonでテキストファイルを読むと、奇妙な値を返します。python read text file奇妙な値を返します

は例えば、私は私のファイルにこのテキストを持っている:

a_id 

Pythonは結果が読み:Pythonで

'ÿþa\x00_\x00i\x00d\x00' 
+0

あなたはBOM-UTF8エンコーディングでテキストファイルを作った...(私は...これだけだと思う​​)...でファイルを開きますあなたの好きな(良い)テキストエディタ(つまりnotepad ++)を普通のasciiまたは普通のutf8に変更してください... –

+1

@JoranBeasleyそれはリトルエンディアンUTF-16 –

+0

hehe私はそれが何かを知っていた:P –

答えて

1

open方法は、デフォルトでは何のエンコーディングを持っていません。

そう

(ファイル、モード= 'R'、バッファリング= -1、エンコーディング=なし、エラー=なし、 改行=なし、closefd =真、オープナー=なし)オープンこれは:

['þÿ\x00a\x00_\x00i\x00d'] 

はそれが適切なエンコードを追加する修正するには:

with open('test.txt') as f: 
    print(f.readlines()) 

になります、のような:

あなたを与えるだろう
with open('test.txt', encoding='utf-16') as f: 
    print(f.readlines()) 

['a_id']