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, or pathlib.Path
将要保存数据的文件名(字符串)或打开的文件(类文件对象).如果 file 是字符串或 Path,则
.npz扩展名将附加到文件名,如果它还不存在.- args参数,可选
要保存到文件的数组. 请使用关键字参数(请参阅下面的 kwds )为数组分配名称. 指定为 args 的数组将被命名为"arr_0","arr_1",依此类推.
- allow_picklebool,可选
允许使用Python pickles保存对象数组.不允许使用pickles的原因包括安全性(加载pickle数据可以执行任意代码)和可移植性(pickle对象可能无法在不同的Python安装上加载,例如,如果存储的对象需要不可用的库,并且并非所有pickle数据都兼容不同版本的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)
将
savez与 args 一起使用时,数组将以默认名称保存.>>> 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])
将
savez与 kwds 一起使用时,数组将以关键字名称保存.>>> 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])