Если вы разместите
import code
code.interact(local=locals())
в любой точке вашего скрипта python будет создавать экземпляр оболочки python именно в той точке, которая имеет доступ ко всему состоянию скрипта в этой точке. ^ D выходит из оболочки и возобновляет выполнение после этой точки.
Вы даже можете изменить состояние в этой точке из оболочки, вызова функций и т. Д.