【发布时间】:2009-01-10 17:56:27
【问题描述】:
我在应用程序中嵌入了一个 python 解释器。该应用程序需要很长时间才能启动,并且我无法在不重新启动整个应用程序的情况下重新启动解释器。我想要做的是本质上保存解释器的状态并轻松返回该状态。
我首先将所有模块的名称存储在 python 解释器开始使用的 sys.modules 中,然后在请求时从 sys.modules 中删除所有新模块。这似乎使解释器准备重新导入相同的模块,即使它之前已经导入了它们。但是,这似乎并不适用于所有情况,例如使用单例类和静态方法等。
如果可以避免的话,我宁愿不要在这个解释器中嵌入另一个解释器,因为会失去使用应用程序 API 的便利性(以及包括我想象的轻微的速度影响)。
那么,有谁知道我可以存储解释器的状态然后返回到这个状态以便它可以应对所有情况的方法?
谢谢,
丹
【问题讨论】:
标签: python interpreter