Как получить интерактивную консоль Python в текущем пространстве имен? - PullRequest
12 голосов
/ 23 августа 2011

Я хотел бы, чтобы мой код Python запускал интерактивную консоль Python (REPL) в середине выполнения кода, используя что-то вроде code.interact ().Но консоль, которую запускает code.interact (), не видит переменные в текущем пространстве имен.Как мне сделать что-то вроде:

mystring = "hello"

code.interact ()

... и затем в интерактивной консоли, которая запускается, я должен бытьвозможность набрать mystring и получить "привет".Это возможно?Нужно ли устанавливать «локальный» аргумент code.interact () для чего-либо?Что бы это было установлено?Как это назвать?

Ответы [ 2 ]

18 голосов
/ 23 августа 2011

Попробуйте:

code.interact(local=locals())

(найдено здесь: http://aymanh.com/python-debugging-techniques)

4 голосов
/ 23 августа 2011

Для отладки я обычно использую это

from pdb import set_trace; set_trace()

это может помочь

...