python 中exec函數的使用

python中的eval, exec以及compile都可以把字符串作爲代碼來執行。

exec函數原型如下:

exec(source, [globals, [locals]])

 

在使用exec的時候,只能通過globals和locals調用全局和局部變量,也可以修改全局變量,但如果在souce中要增加變量,則會保存在exec自己的執行環境中,在下次執行exec的時候無法在調用該變量。要調用這個變量,方法如下:

1. 在全局變量中增加一個字典變量,如scope

2.在調用exec時,將scope作爲locals傳入,這樣exec的代碼中增加的變量就會保存在scope字典中

3.下次調用exec時,scope仍然作爲locals傳入,這樣exec中的代碼就可以使用前一次定義的變量了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章