2010-01-03 84 views
0

__builtins__設置,我嘗試訪問函數全局,我得到這個錯誤什麼是python的「受限執行模式」?

>>> def f(): pass 
... 
>>> f.func_globals 
{'f': <function f at 0x00B83270>, '__builtins__': <module '__builtin__' (built-in)>} 
>>> __builtins__ = {} 
>>> f.func_globals 
Traceback (most recent call last): 
    File "<string>", line 1, in <string> 
RuntimeError: restricted attribute 
>>> 

這是爲什麼,在那裏我可以閱讀更多關於它?我可以用它來保護表達評估嗎?

見問題:How safe is expression evaluation using eval?

回答

3

唉,長過時的概念,看到the docs - 最初的想法是提供一個安全/沙盒模式,但它只是沒有成功,被遺棄,廢棄了,因爲2.3。

+0

謝謝,但它仍然在行動(蟒蛇2.5.1)作爲'受限屬性'顯示 – 2010-01-03 06:09:59

+0

它被棄用,放棄,不支持,但化石痕跡留下來,當然:-(。 – 2010-01-03 16:35:59

相關問題