1
两种方法我比较用于写入numpy array
成原始二进制文件中的两个简单的方法:比较用于写入numpy的阵列到磁盘
# method 1
import numpy
A = numpy.random.randint(1000, size=512*1024*1024) # 2 GB
with open('blah.bin', 'wb') as f:
f.write(A)
和
# method 2
import numpy
A = numpy.random.randint(1000, size=512*1024*1024) # 2 GB
raw_input()
B = A.tostring() # check memory usage of the current process here : 4 GB are used !!
raw_input()
with open('blah.bin', 'wb') as f:
f.write(B)
在第二方法中,存储器用法是加倍(这里是4GB)!
为什么.tostring()
经常用于写入numpy数组? (在http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.tofile.html,解释了numpy.ndarray.tofile()
可以等同于file.write(a.tostring())
)
是方法1作为方法2写入这样的阵列到磁盘正确?
谢谢回答。但是,然后**为什么**是'.tostring()'经常用于写入numpy数组到文件?请参阅http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.tofile.html:'numpy.ndarray.tofile()'可以等同于'file.write(a.tostring() '...为什么'numpy.ndarray.tofile()'使用'file.write(a)'? – Basj
@Basj,但文档没有说'.tofile()'等同于'file.write (a.tostring())',它只提到后者来解释分隔符''''将如何表现 –
好,但为什么不提到:'file.write(a)'? – Basj