Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 将numpy数组追加到两个二进制文件中_Python_Python 2.7_Numpy - Fatal编程技术网

Python 将numpy数组追加到两个二进制文件中

Python 将numpy数组追加到两个二进制文件中,python,python-2.7,numpy,Python,Python 2.7,Numpy,我想创建两个二进制文件,以便在循环过程中将numpy数组附加到每个数组中。我编写了以下方法(我使用Python 2.7): 然而,我不断地发现这个错误: Traceback (most recent call last): File "test.py", line 15, in <module> C = np.load("C.bin") File "/anaconda/lib/python2.7/site-packages/numpy/lib/npyio.py", l

我想创建两个二进制文件,以便在循环过程中将numpy数组附加到每个数组中。我编写了以下方法(我使用Python 2.7):

然而,我不断地发现这个错误:

Traceback (most recent call last):
  File "test.py", line 15, in <module>
    C = np.load("C.bin")
  File "/anaconda/lib/python2.7/site-packages/numpy/lib/npyio.py", line 429, in load
    "Failed to interpret file %s as a pickle" % repr(file))
IOError: Failed to interpret file 'C.bin' as a pickle
回溯(最近一次呼叫最后一次):
文件“test.py”,第15行,在
C=np.荷载(“C.bin”)
文件“/anaconda/lib/python2.7/site packages/numpy/lib/npyio.py”,第429行,已加载
无法将文件%s解释为pickle“%repr(文件))
IOError:无法将文件“C.bin”解释为pickle
我试图修好它,但我看不到更多的东西。感谢您的帮助


注意:我有意使用
np.load
,因为稍后我会将数据集从磁盘加载到numpy数组中进行进一步处理。

您应该使用numpy中内置的
save
方法将数组存储在文件中。下面是您的代码应该是什么样子:

for _ in range(5):
    C = np.random.rand(1, 5)
    r = np.random.rand(1, 5)

    np.save('C', C)
    np.save('r', r)

    # Now printing to check if appending is successful
    C = np.load("C.npy")
    r = np.load("r.npy")
    print (C)
    print (r)
    del C, r

请参阅文档

谢谢您的回答。但这不是附加,而是重写!我在循环外打印了它,看起来它只保存了最后一个块hmm我得到了你的点@Medo,你可以创建一个数组数组并将其存储为一个数组。或者您可以使用
np.savez()
函数在同一个文件中存储多个项目,请检查sintax at Good提示。非常感谢
for _ in range(5):
    C = np.random.rand(1, 5)
    r = np.random.rand(1, 5)

    np.save('C', C)
    np.save('r', r)

    # Now printing to check if appending is successful
    C = np.load("C.npy")
    r = np.load("r.npy")
    print (C)
    print (r)
    del C, r