Mamy kilka plików binarnych utworzonych przez program C.Jak odczytać strukturę zawierającą tablicę przy użyciu ctypów Pythona i readinto?
Jeden typ pliku jest tworzony poprzez wywołanie fwrite napisać następującą strukturę C do pliku:
typedef struct {
unsigned long int foo;
unsigned short int bar;
unsigned short int bow;
} easyStruc;
w Pythonie, czytałem konstrukcjom tego pliku w następujący sposób:
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()
Że działa w porządku. Nasz inny typ pliku jest tworzony przy użyciu następującej struktury:
typedef struct { // bin file (one file per year)
unsigned long int foo;
float barFloat[4];
float bowFloat[17];
} strucWithArrays;
Nie jestem pewien, jak utworzyć strukturę w Pythonie.
Dzięki! Nie wiem, jak tęskniłem. –