Мое приложение создает InteractiveConsole
(из модуля code
) и запускает некоторые строки python в контексте этого объекта, используя метод push
. Некоторые из этих строк генерируются моим приложением, другие - пользователем. После запуска некоторых из этих строк я бы хотел выполнить оператор, похожий на eval
, в контексте InteractiveConsole
. То есть, если в какой-то момент пользователь запустил x=3
, и это значение было увеличено до InteractiveConsole
, тогда eval("x")
должно выдать 3
. В идеале я хотел бы, чтобы решение этой проблемы имело полную мощность eval
, но если это невозможно, то что-то с частичной мощностью также подойдет.