更改npz文件中的已保存值

时间:2017-01-09 09:44:23

标签: python file

我将“很多”变量(大约40个)保存到npz文件中,所有这些变量都带有名称。我不时想更新其中一个变量。有一个简单的方法,我如何更改npz文件本身中的一个保存值(不将其复制到字典中,更改npz文件,s.t下次加载它时它会被更改吗?) 容易的意思我不必用相应的变量名重新输入所有变量吗?

PS:这不是我的意思:How do I change a value in a .npz file?因为它不会改变底层的npz文件

1 个答案:

答案 0 :(得分:0)

如果您将 npz 文件作为 zip 文件读取,则可以更新其中的数组:

import zipfile
from numpy.lib.format import write_array

zip_ = zipfile.ZipFile('archive.npz', 'a')
with zip_.open('array.npy', 'w', force_zip64=True) as fid:
    write_array(fid, np.asanyarray(v))
zip_.close()

更新数组的逻辑是从savez复制的