IPython: как автоматически загрузить файл npz и присвоить значения переменным?

Я новичок в Python и с нетерпением перехожу с MATLAB на IPython в качестве моего предпочтительного языка для анализа данных в лаборатории.

В MATLAB, после сеанса обработки данных, я бы сделал

>>> save('myresults.mat','x','y','z');

и сохраните результаты переменных x, y и z в файл с именем «myresults.mat». Позже я мог бы просто сказать:

>>> load('myresults');

и MATLAB будет загружать файл .mat И присваивать сохраненные значения переменных текущей рабочей области.

Недавно я узнал, что я могу сделать то же самое для IPython, используя Numpy, а именно:

import numpy as np
a = 2
b = np.sqrt(2)
np.savez('myresultsinpython',a,b)

а потом сделать что-то вроде

npzfile = np.load('myresultsinpython')

Тем не менее, я получаю объект, из которого я могу получить доступ к своим переменным:

npzfile['arr_1']

и т.д., но я теряю всю информацию об исходных именах переменных. Я знаю, что могу сохранить файл, выполнив

np.savez('myresultsinpython',a=a,b=b)

но это не так полезно, так как я все еще должен сделать что-то вроде:

npzfile['a']

чтобы получить доступ к значению переменной.

Как загрузить файл и создать переменные, созданные в моей рабочей области, и назначить их значения в соответствии со значениями, сохраненными в файле?

Что-то вродеnp.load('myresults') и быть в состоянии сделатьa+b и получить3.4142135623730949 (=2+sqrt(2)) в ответ.

Ответы на вопрос(2)

Ваш ответ на вопрос