2016-03-24 14 views
-2

Wenn ich eine Textdatei mit Python lese, gibt es seltsame Werte zurück.Python lesen Textdatei seltsame Werte zurückgeben

Zum Beispiel, ich habe diesen Text in meiner Datei:

a_id 

Python las Ergebnis ist:

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

Sie die Textdatei mit BOM-UTF8-Codierung gemacht ... (Ich denke, das ist es ...) ... öffnen Sie die Datei in Deinen Lieblings (guten) Texteditor (dh Notepad ++) und ändere es in normale ascii oder normale utf8 ... –

+1

@JoranBeasley es ist Little Endian UTF-16 –

+0

hehe Ich wusste, dass es etwas war: P –

Antwort

1

Die open Methode in Python hat keine Codierung standardmäßig.

öffnen (Datei, mode = 'r', Pufferung = -1, encoding = None, Fehler = None, Newline = None, closefd = True, Öffner = None)

So tun dies:

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

bewirkt:

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

Um das zu beheben, um die richtige Codierung hinzufügen Als solche:

with open('test.txt', encoding='utf-16') as f: 
    print(f.readlines()) 

, die Ihnen:

['a_id'] 
Verwandte Themen