scipy.io.

readsav#

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

读取 IDL .sav 文件。

参数:
file_namestr

IDL 保存文件的名称。

idictdict, 可选

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

python_dictbool, 可选

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

uncompressed_file_namestr, 可选

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

verbosebool, 可选

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

返回:
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.]