2012-12-15 72 views
1

我想使用exec()執行正確的Python程序,然後在執行後獲取變量及其值。谷歌說我應該創建一個字典並在那裏寫下執行結果:變量。但不幸的是這並沒有出現在Python 3如何執行Python程序並使用exec()獲取變量?

+0

[可執行函數在Python 2和Python 3中的行爲]的可能重複(http://stackoverflow.com/questions/15086040/behaviour-of-exec-function-in-python-2-and-python-3 ) –

回答

1

在Python 3中的代碼應該是:

exec(code_object, variables) 

這句法也Python 2 compatible


exec(code_object) in variables 

編譯和Python 3中運行,但做一些完全不同於Python的2 - 它會在當前範圍內執行code_object; exec將返回None;那麼表達式None in variables將評估False,因爲None不是variables中的關鍵;結果將被丟棄 - 因此編譯時和運行時錯誤都不會發生,除了code_object看到錯誤的範圍。

相關問題