我有一個嵌入在應用程序中的python解釋器。應用程序需要很長時間才能啓動,並且我無法在不重新啓動整個應用程序的情況下重新啓動解釋器。我想要做的是基本上保存解釋者的狀態並輕鬆地返回到該狀態。靜靜地重新啓動Python解釋器
我開始時將python解釋器啓動的所有模塊的名稱存儲在sys.modules中,然後在請求時從sys.modules中刪除所有新模塊。這似乎使解釋器準備重新導入相同的模塊,即使它之前已經導入了它們。但是,這似乎並不適用於所有情況,例如使用單例類和靜態方法等。
我寧可不在此解釋器中嵌入另一個解釋器(如果可以避免),因爲易於存在能夠使用API的應用程序將會丟失(以及包含我想象中的輕微速度命中)。
那麼,有沒有人知道我可以存儲解釋器的狀態,然後返回到這樣的方式,以便它可以應付所有情況?
感謝,
丹
這看起來很有前途的謝謝,我會更深入地研究一下。 – Dan 2009-01-11 16:57:00