我正在使用我的程序GarlicSim,用戶在其中創建一個模擬,然後他可以根據需要操作它,然後將其保存到文件中。Python:酸洗模塊的替代品
我最近嘗試過實施保存功能。發生在我身上的自然事情是醃製包含整個模擬的Project
對象。
問題是,Project
對象還包含一個模塊 - 即「模擬程序包」,它是一個程序包/模塊,其中包含幾個用於定義模擬的關鍵對象,主要是函數。我需要將它們與模擬一起保存,但似乎無法醃製一個模塊,就像我試圖醃製Project
對象時看到的那樣,並且引發了異常。
什麼是解決該限制的好方法?
(我也應該注意到,仿真軟件包被程序動態進口。)
你的意思,而不是引用的動態導入模塊,參考裏面的定義的類動態導入模塊? – 2009-08-26 19:44:15
是的;動態實例化類比動態地導入模塊更清潔。 – djc 2009-08-26 19:48:59
這很有趣。但我認爲這有點問題。我的程序工作的方式是用戶選擇要導入的模擬包。也就是說,針對不同類型的模擬有預先編寫的模擬軟件包(例如,一個用於牛頓物理,一個用於遊戲理論...)。你是否建議我在這些預先編寫的軟件包中定義一個類,並讓所有對象成爲它的屬性? – 2009-08-26 19:53:08