[SciPy-user] Save a list of arrays

Mathieu Dubois mathieu.dubois at limsi.fr
Wed Apr 22 10:19:07 EDT 2009


Pauli Virtanen wrote:
> Wed, 22 Apr 2009 15:09:20 +0200, Mathieu Dubois kirjoitti:
>
>   
>> [I have posted this message this morning but apparently it is stuck
>> somewhere - sorry for multi-posting]
>>
>> Hello,
>>
>> I would like to save a list of arrays (each one has a different shape)
>> to a file.
>> For instance:
>>  >>> array1 = numpy.ones(2);
>>  >>> array2 = numpy.ones(5);
>>  >>> array3 = numpy.ones(1000);
>>  >>> list = [array1, array2, array3]
>>
>> As my arrays are huge (each one contains several thousands values) I
>> would like a compressed file.
>> numpy.savez would be perfect (because it produces an archive of binary
>> files) but unfortunately numpy.savez(list) doesn't work because savez
>> needs each array individually.
>>
>> So what's the best way to do that?
>>     
>
>   
Hello Pauli,
> savez(filename, *list)
>
> The star is Python syntax for unpacking a sequence to arguments
Thank you for the tip this opens interesting possibilities.

Do you know something that works with named arguments (keyword arguments)?
This would allow to set the name of the array in the archive file (by 
default it's 'arr_0.npy').

Mathieu




More information about the SciPy-User mailing list