numpy.savez#

numpy.savez(file, *args, allow_pickle=True, **kwds)[源代码]#

将多个数组以未压缩的 .npz 格式保存到单个文件中.

提供数组作为关键字参数,以将它们以相应的名称存储在输出文件中: savez(fn, x=x, y=y) .

如果数组指定为位置参数,即 savez(fn, x, y) ,则它们的名称将为 arr_0 , arr_1 等.

参数:
filefile, str, 或 pathlib.Path

文件名(字符串)或将保存数据的打开文件(类似文件的对象). 如果文件是字符串或路径,则如果文件名中尚不存在 .npz 扩展名,则将其附加到文件名中.

args参数,可选

要保存到文件的数组.请使用关键字参数(参见下面的 kwds )为数组分配名称.作为参数指定的数组将被命名为“arr_0”,“arr_1”等等.

allow_picklebool, 可选

允许使用 Python pickles 保存对象数组.不允许使用 pickles 的原因包括安全性(加载 pickled 数据可以执行任意代码)和可移植性(pickled 对象可能无法在不同的 Python 安装上加载,例如,如果存储的对象需要不可用的库,并且并非所有 pickled 数据都与不同版本的 Python 兼容).默认值:True

kwds关键字参数,可选

要保存到文件的数组.每个数组将以其对应的关键字名称保存到输出文件中.

返回:
None

参见

save

以NumPy格式将单个数组保存到二进制文件.

savetxt

将数组作为纯文本保存到文件.

savez_compressed

将多个数组保存到压缩的 .npz 存档中

注释

.npz 文件格式是以它们包含的变量命名的文件的压缩归档.该归档未被压缩,并且归档中的每个文件都包含一个 .npy 格式的变量.有关 .npy 格式的描述,请参见 numpy.lib.format .

当使用 load 打开保存的 .npz 文件时,将返回一个 NpzFile 对象. 这是一个类似字典的对象,可以查询其数组列表(使用 .files 属性)以及数组本身.

kwds 中传递的键用作 ZIP 归档中的文件名. 因此,键应该是有效的文件名; 例如,避免使用以 / 开头或包含 . 的键.

当使用关键字参数命名变量时,不可能将变量命名为 file ,因为这会导致在调用 savez 时将 file 参数定义两次.

示例

>>> import numpy as np
>>> from tempfile import TemporaryFile
>>> outfile = TemporaryFile()
>>> x = np.arange(10)
>>> y = np.sin(x)

使用带有 args 的 savez ,数组以默认名称保存.

>>> np.savez(outfile, x, y)
>>> _ = outfile.seek(0) # Only needed to simulate closing & reopening file
>>> npzfile = np.load(outfile)
>>> npzfile.files
['arr_0', 'arr_1']
>>> npzfile['arr_0']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

使用带有 kwds 的 savez ,数组以关键字名称保存.

>>> outfile = TemporaryFile()
>>> np.savez(outfile, x=x, y=y)
>>> _ = outfile.seek(0)
>>> npzfile = np.load(outfile)
>>> sorted(npzfile.files)
['x', 'y']
>>> npzfile['x']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])