Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否有可以与pypy一起使用的numpy.save(file,arr)的替代方案?_Python_File_Numpy_Save_Pypy - Fatal编程技术网

Python 是否有可以与pypy一起使用的numpy.save(file,arr)的替代方案?

Python 是否有可以与pypy一起使用的numpy.save(file,arr)的替代方案?,python,file,numpy,save,pypy,Python,File,Numpy,Save,Pypy,我有一个在pypy中运行的主程序,可以创建三个2D numpy数组。我想将它们保存到一个文件中,然后使用python打开它们,并使用matplotlib.pyplot打印它们 目前pypy不能与numpy.save一起使用,在使用pypy时,是否有一种简单的替代方法将一组numpy数组保存到文件中?您可以使用()和()。这将失去在具有不同端点的计算机之间移动数据的能力,但速度应该比save()更快 例如: a = numpy.zeros( (5,5) ) a.tofile('a.dat') b

我有一个在pypy中运行的主程序,可以创建三个2D numpy数组。我想将它们保存到一个文件中,然后使用python打开它们,并使用matplotlib.pyplot打印它们

目前pypy不能与numpy.save一起使用,在使用pypy时,是否有一种简单的替代方法将一组numpy数组保存到文件中?

您可以使用()和()。这将失去在具有不同端点的计算机之间移动数据的能力,但速度应该比save()更快

例如:

a = numpy.zeros( (5,5) )
a.tofile('a.dat')
b = numpy.fromfile('a.dat')

您可以尝试使用python的模块。答案和答案中有一些例子


另一种选择是使用外部库,如pyfits或pytables。但我怀疑它们可能在pypy上不可用。

库pickle与pypy一起工作。他就是我保存/加载numpy数组的方式

import pickle 
import numpy
保存(使用pypy):

加载(使用python):


tofile
fromfile
也由pypy提供。
outfile1 = open(r'C:\pythontmp\numpyArray.pkl', 'w+b')
pickle.dump(numpyArray.tolist(), outfile1)
outfile1.close()
infile1 = open(r'C:\pythontmp\numpyArray.pkl', 'r+b')
file1 = pickle.load(infile1)                           # This is a list
infile1.close()

numpyArray = numpy.array(file1)                        # This is a numpy array