我试图使用python包将一些数值计算数据保存到文件中。我在io和os中看过open(),主要处理测试文件。 当我试图使用scipy和numpy文件来运行矩阵和向量时,我搜索了一些结果并且它回来了很多。
在matlab中,主要有两种不同类型的文件,一种是处理变量大小2G,另一种是非常简单,两种方法是读取和保存文件,一种只是简单地读取它,另一种是直接搜索文件没有打开它。(为了节省内存)
我的问题是:
有没有类似的文件类型和方法来处理python中的文件(对于向量和矩阵)?
在诸如numpy.save,numpy.savetxt等命令中(对于numpy矩阵和单值),哪一个更好,哪一个是使用该文件的快捷方式(保存和读取)? / p>
我还看到人们使用带有open()的numpy.save()将文件保存为txt文件格式。如何更改保存到的文件的格式以及哪种格式更好?
我需要频繁地读取和写入一个迭代矩阵,每帧大约100MB,200帧(最后至少2GB矩阵)。
答案 0 :(得分:1)
numpy.save
以二进制格式将您的数组放在磁盘上。
numpy.savetxt
以纯文本格式书写,因此它具有人类可读性,但需要更多空间。
我最喜欢的方法是使用numpy.memmap
创建同步到磁盘的数组。它们可以像numpy.ndarrays一样打开,读取和处理,但更新会刷新到文件中。