numpy.lib.npyio.NpzFile#
- class numpy.lib.npyio.NpzFile(fid)[源代码]#
一个类似字典的对象,在构造时提供的压缩档案中的文件进行延迟加载.
NpzFile
用于加载 NumPy.npz
数据存档格式的文件.它假设存档中的文件具有.npy
扩展名,其他文件将被忽略.数组和文件字符串在使用
obj['key']
进行 getitem 访问或使用obj.f.key
进行属性查找时被延迟加载.可以使用obj.files
获取所有文件的列表(不带.npy
扩展名),并使用obj.zip
获取 ZipFile 对象本身.- 参数:
- fid文件, str, 或 pathlib.Path
要打开的压缩存档.这可以是一个类文件对象或包含存档路径的字符串.
- own_fidbool, 可选
NpzFile 是否应关闭文件句柄.要求 fid 是一个类似文件的对象.
示例
>>> import numpy as np >>> from tempfile import TemporaryFile >>> outfile = TemporaryFile() >>> x = np.arange(10) >>> y = np.sin(x) >>> np.savez(outfile, x=x, y=y) >>> _ = outfile.seek(0)
>>> npz = np.load(outfile) >>> isinstance(npz, np.lib.npyio.NpzFile) True >>> npz NpzFile 'object' with keys: x, y >>> sorted(npz.files) ['x', 'y'] >>> npz['x'] # getitem access array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> npz.f.x # attribute lookup array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
- 属性:
- fileslist of str
存档中所有带有
.npy
扩展名的文件列表.- zipZipFile 实例
使用压缩存档初始化的 ZipFile 对象.
- fBagObj 实例
一个可以执行属性操作的对象,作为对
NpzFile
实例本身进行 getitem 访问的替代方法.- allow_picklebool, 可选
允许加载序列化数据.默认:False
在 1.16.3 版本发生变更: 在响应 CVE-2019-6446 时,默认设置为 False.
- pickle_kwargsdict, 可选
传递给 pickle.load 的额外关键字参数.这些参数仅在加载使用 Python 2 保存的对象数组时使用 Python 3 时有用.
- max_header_sizeint, 可选
允许的最大头文件大小.较大的头文件可能不安全加载,因此需要显式传递一个较大的值.详情请参见
ast.literal_eval
.当传递 allow_pickle 时,此选项将被忽略.在这种情况下,文件按定义是可信的,因此不需要限制.
方法