【发布时间】:2012-11-06 15:19:51
【问题描述】:
我正在尝试构建一个在线 Python Shell。我通过创建InteractiveInterpreter 的实例来执行命令并使用命令runcode。为此,我需要将解释器状态存储在数据库中,以便可以跨命令使用全局和局部命名空间中的变量、函数、定义和其他值。有没有办法存储对象InteractiveInterpreter 的当前状态,可以稍后检索并作为参数local 传递给InteractiveInterpreter 构造函数,或者如果我不能这样做,我有什么替代方案来实现提到的功能?
下面是我想要实现的伪代码
def fun(code, sessionID):
session = Session()
# get the latest state of the interpreter object corresponding to SessionID
vars = session.getvars(sessionID)
it = InteractiveInterpreter(vars)
it.runcode(code)
#save back the new state of the interpreter object
session.setvars(it.getState(),sessionID)
这里,session 是一个包含所有必要信息的表的实例。
【问题讨论】:
标签: python interactive-shell python-interactive