scipy.io.

readsav#

scipy.io.readsav(file_name, idict=None, python_dict=False, uncompressed_file_name=None, verbose=False)[源代码][源代码]#

读取一个 IDL .sav 文件。

参数:
文件名str

IDL 保存文件的名称。

idictdict, 可选

用于插入 .sav 文件变量的字典。

python_dictbool, 可选

默认情况下,返回的对象不是一个 Python 字典,而是一个对变量具有项、属性和调用访问的区分大小写的字典。要获取标准的 Python 字典,请将此选项设置为 True。

uncompressed_file_namestr, 可选

此选项仅对使用 /compress 选项写入的 .sav 文件有效。如果指定了文件名,压缩的 .sav 文件将被解压缩到此文件中。否则,readsav 将使用 tempfile 模块自动确定一个临时文件名,并在成功读取后删除该临时文件。

详细bool, 可选

是否打印有关保存文件的信息,包括读取的记录和可用的变量。

返回:
idl_dictAttrDict 或 dict

如果 python_dict 设置为 False(默认),此函数返回一个不区分大小写的字典,支持对变量的项、属性和调用访问。如果 python_dict 设置为 True,此函数返回一个所有变量名均为小写的 Python 字典。如果指定了 idict,则变量将被写入指定的字典,并返回更新后的字典。

示例

>>> from os.path import dirname, join as pjoin
>>> import scipy.io as sio
>>> from scipy.io import readsav

从 tests/data 目录中获取一个示例 .sav 文件的文件名。

>>> data_dir = pjoin(dirname(sio.__file__), 'tests', 'data')
>>> sav_fname = pjoin(data_dir, 'array_float32_1d.sav')

加载 .sav 文件内容。

>>> sav_data = readsav(sav_fname)

获取 .sav 文件内容的键。

>>> print(sav_data.keys())
dict_keys(['array1d'])

通过键访问内容。

>>> print(sav_data['array1d'])
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
 0. 0. 0.]