2016-04-06 8 views
-2

Ich habe noch einen Zweifel in Bezug auf das Lesen der Datendatei.Spezifische Codes für eine Datendatei, die Bytes enthält (Python)

Das Dateiformat ist DAT-Datei (Dat)

Der Inhalt in der Datei in Bytes.

Als ich den geöffneten Dateicode versuchte, baute das Programm und lief erfolgreich. Die Python-Shell hat jedoch keine Ausgabe (ich kann den Inhalt der Datei nicht sehen).

Da der Inhalt in der Datei in Bytes ist, sollte ich den Code ändern? Was ist der Code für Bytes?

Vielen Dank.

+0

Können Sie Ihren Code bisher posten? –

+0

Hallo Tim, mit open ("File.dat", "rb") als f: data = f.read() Dies ist der Code, den ich verwendet habe. –

+1

Hallo, wenn das alles dein Code ist, dann fehlt dir eine print-Anweisung, um die Daten in der Python-Shell anzuzeigen. Ansonsten hängt es davon ab, was Sie verwenden, um die Daten anzuzeigen, und auch die Art der Daten, die in der Datei und ihrer Codierung gespeichert sind. Könnten Sie bitte auch Ihre Frage bearbeiten, um Ihren vollständigen Code oder die relevanten Teile für Ihre Frage in die richtige Formatierung aufzunehmen. Auf diese Weise ist es für den Rest von uns einfacher, Ihren Code zu verstehen und Ihnen zu helfen. Grüße –

Antwort

0

Es gibt kein "DAT" -Dateiformat, und wie Sie sagen, enthält die Datei Bytes - wie alle Dateien.

Es ist möglich, dass die Datei Binärdaten enthält, für die es am besten ist, die Datei im Binärmodus zu öffnen. Sie tun das, indem b als Teil des mode Parameter open() Angabe wie folgt aus:

f = open('file.dat', 'rb') 
data = f.read() # read the entire file into data 
print(data) 
f.close() 

Beachten Sie, dass der volle mode Parameter auf rb gesetzt ist, was bedeutet, die Datei in Binär-Modus zum Lesen öffnen.

Ein besserer Weg ist with zu verwenden:

with open('file.dat', 'rb') as f: 
    data = f.read() 
    print(data) 

Keine Notwendigkeit, explizit die Datei zu schließen.

Wenn Sie wissen, dass die Datei Text enthält, möglicherweise codiert in einer bestimmten Codierung, z. UTF8, dann können Sie die Codierung angeben, wenn Sie die Datei (Python 3) öffnen:

with open('file.dat', encoding='UTF8') as f: 
    for line in f: 
     print(line) 

In Python 2 Sie io.open() verwenden können.

+0

Danke für Ihre Antwort :) –

Verwandte Themen