Issue 23933: Struct module should accept arrays (original) (raw)
Correct me if I'm wrong, the struct module does not work with array of ints, floats etc (just work with char in the form of strings). I think it should since this are valid elements in C structs.
More specifically, consider I have this C struct
struct{ int array[4]; };
I'm forced to do something like this: struct.pack('iiii', v1,v2,v3,v4) #'4i' is just the same as 'iiii'
I would like to do something like this: struct.pack('i[4]', [v1,v2,v3,v4])
Of course this is useful if I want to pack with zeros: struct.pack('i[4]', [0]*4)
@wolma, That would work in this simple example. But in a more complicated case this became inconvenient.
Actually I'm working with reading and writing in python an extremely C-oriented file-type (MDV). For that I represent C-structs as python dics (e.q {"array":[v1,v2,v3,v4]}), and because of this lack of arrays I'm forced to keep track if a key represents a single value or an array. It works, but I think everyone would benefit if struct could handle that simple task.