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 等。- 参数:
- file文件对象、字符串或 pathlib.Path
文件名(字符串)或要保存数据的已打开文件(类文件对象)。如果 file 是字符串或 Path,则如果文件名尚未以
.npz结尾,则会追加该扩展名。- args数组,可选
要保存到文件中的数组。请使用关键字参数(参见下面的 kwds)为数组指定名称。指定为 args 的数组将命名为“arr_0”、“arr_1”等。
- allow_picklebool, 可选
允许使用 Python 腌制(pickle)来保存对象数组。禁止腌制的原因包括安全(加载腌制数据可能会执行任意代码)和可移植性(腌制对象可能在不同的 Python 安装上无法加载,例如,如果存储的对象需要不存在的库,并且并非所有腌制数据都兼容不同版本的 Python)。默认值:True
- kwds关键字参数,可选
要保存到文件中的数组。每个数组都将以其对应的关键字名称保存到输出文件中。
- 返回:
- None
另请参阅
save将单个数组保存到 NumPy 格式的二进制文件中。
savetxt将数组保存为纯文本文件。
savez_compressed将多个数组保存到压缩的
.npz存档中
备注
.npz文件格式是一个压缩的存档,其中包含根据它们所包含的变量命名的文件。该存档未被压缩,存档中的每个文件都包含一个.npy格式的变量。有关.npy格式的描述,请参阅numpy.lib.format。使用
load打开保存的.npz文件时,将返回一个NpzFile对象。这是一个类似字典的对象,可以查询其数组列表(通过.files属性)以及数组本身。在 kwds 中传入的键用作 ZIP 存档内的文件名。因此,键应该是有效的文件名;例如,避免以
/开头或包含.的键。使用关键字参数命名变量时,无法将变量命名为
file,因为这将导致file参数在对savez的调用中被定义两次。示例
>>> 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])