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))
в ответ.