Wir haben einige Binärdateien von einem C-Programm erstellt.Wie lese ich eine Struktur, die ein Array enthält, mit den Ctypes von Python und readinto?
Eine Art von Datei durch den Aufruf von fwrite erstellt wird, die folgende C-Struktur zu schreiben in Datei:
typedef struct {
unsigned long int foo;
unsigned short int bar;
unsigned short int bow;
} easyStruc;
In Python, las ich die structs dieser Datei wie folgt:
class easyStruc(Structure):
_fields_ = [
("foo", c_ulong),
("bar", c_ushort),
("bow", c_ushort)
]
f = open (filestring, 'rb')
record = censusRecord()
while (f.readinto(record) != 0):
##do stuff
f.close()
That funktioniert gut. Unsere andere Art von Datei wird erstellt mit der folgenden Struktur:
typedef struct { // bin file (one file per year)
unsigned long int foo;
float barFloat[4];
float bowFloat[17];
} strucWithArrays;
Ich bin mir nicht sicher, wie die Struktur in Python zu erstellen.
Danke! Ich bin mir nicht sicher, wie ich das verpasst habe. –