При разработке и отладке с помощью python/ipython repl в какой-то момент я хотел бы сбросить все локальные переменные в функции в рабочее пространство, чтобы посмотреть, что происходит. Предположим, у меня есть функцияПеременные функции дампа в рабочее пространство в python/ipython
def func():
a = "blablabla"
b = 1234
c = some_calculation_of_a_and_b(a,b)
dump_to_workspace(a,b,c) # is this possible?, or even more preferable:
dump_all_local_variables_to_workspace() # is this possible?
Я надеюсь, чтобы иметь возможность запускать это в Python/IPython:
>>> func()
>>> print a
"blablabla"
>>> print b
1234
>>> print c
some_calculated_value
Я знаю два варианта: (1) возвращают переменные из функции [не очень хорошо, потому что Я не хочу испортить возвращаемое значение] и (2) сохранять данные в файл на диске [не удобно, потому что это связано с дисковым вводом-выводом с возможным большим количеством данных]. Но это не так удобно в большинстве случаев. Есть ли способ получить демпинг напрямую?
Большое спасибо!
Лучше было бы использовать 'pdb.set_trace()' и шаг за шагом. – vikramls
Привет @vikramls, это выглядит многообещающим направлением. Я должен определенно изучить и узнать больше о 'pdb'. Если у вас есть указатель на хороший учебник/справочник, это тоже будет здорово. Благодаря! –
Я добавил ответ, чтобы подробно остановиться на использовании pdb. – vikramls