Ich habe eine .Raw-Datei mit einem 52 Zeilen HTML-Header, gefolgt von den Daten selbst. Die Datei ist codiert in Little-Endian 24bit signiert und ich möchte die Daten in Ganzzahlen in einer ASCII-Datei konvertieren. Ich benutze Python 3.Konvertieren Little-Endian 24-Bit-Datei in ein ASCII-Array
Ich habe versucht, die gesamte Datei mit dem folgenden Code in this post gefunden 'auspacken':
import sys
import chunk
import struct
f1 = open('/Users/anais/Documents/CR_lab/Lab_files/labtest.raw', mode = 'rb')
data = struct.unpack('<i', chunk + ('\0' if chunk[2] < 128 else '\xff'))
Aber ich bekomme diese Fehlermeldung:
TypeError: 'module' object is not subscriptable
EDIT
Es scheint das besser zu sein:
data = struct.unpack('<i','\0'+ bytes)[0] >> 8
Aber ich immer noch eine Fehlermeldung erhalten:
TypeError: must be str, not type
leicht zu beheben nehme ich an?
Können Sie das Ergebnis von 'f1.read()' posten? – Tomalak
1) Screen Dumps sind hier nicht willkommen: großer Speicherplatz, keine Wiederverwendung, nicht durchsuchbar 2) Das Problem ist das * Chunk * Modul. Wahrscheinlich eine Namenskollision zwischen dem Modulnamen und der gewählten Instanzvariable. Oder hast du vergessen, etwas mit der Klasse * Chunk * zu instanziieren? – guidot
Sie müssen zuerst die Binärdaten aus dem HTML-Code trennen. Verwenden Sie nicht 'bytes' als Variablennamen, da dieser Konflikt mit Pythons eigenen 'bytes'-Typ –