Laszlo Nagy wrote:

> import numpy
> data = numpy.array(...)
> numpy.save("test.np",data)
> 
> This is very good, but I want to save the data into a file object with a
> write() method. E.g. not a real file. (My purpose right now is to save
> many arrays into one binary file, while recording starting positions of
> the arrays.)
> 
> How can I do that?

numpy.save() accepts file(-like) objects, the help is quite clear about 
that:

"""
save(file, arr)
    Save an array to a binary file in NumPy format.

    Parameters
    ----------
    f : file or string
        File or filename to which the data is saved.  If the filename
        does not already have a ``.npy`` extension, it is added.
    x : array_like
        Array data.
"""

>>> import numpy
>>> from StringIO import StringIO
>>> stream = StringIO()
>>> a = numpy.array([1,2,3])
>>> b = numpy.array([10, 11])
>>> numpy.save(stream, a)
>>> pos = stream.tell()
>>> numpy.save(stream, b)
>>> stream.seek(0)
>>> stream.seek(pos)
>>> numpy.load(stream)
array([10, 11])
>>> stream.seek(0)
>>> numpy.load(stream)
array([1, 2, 3])

Peter
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to