我有一個模塊,我需要導入並更改該模塊的導入實例中的特定變量值,然後執行它。如何導入模塊並更改模塊中的變量值並執行它
請注意,由於遺留原因,我無法對正在導入的模塊進行單個更改。
這裏就是我想要做:
說模塊I要導入,a.py,看起來像
var1 = 1
var2 = 2
if __name__ == '__main__':
print var1+var2
現在我在b.py導入此,主叫腳本。我試圖導入它,更改變量var1的值,並使用runpy作爲主程序運行,如下所示。
import runpy
import a
a.var1 = 2
result = runpy._run_module_as_main(a.__name__)
但這打印結果爲3
,不作爲4
預期。
任何其他方式來實現這一點(除了使用runpy)而不改變a.py中的任何東西?只要我不需要對導入的模塊進行更改,就可以打開任何第三方模塊。
我使用Python 2.6
如果你真的*想要這樣做,你會需要'ast'模塊,我相信。 –
@WayneWerner請讓我知道 – MohitC
你*真*不應該這樣做,只是使用類而不是。 –