1
按照PyPy docs「的建宏的名字總是引用內置模塊,從來沒有一本字典,因爲它有時是CPython的。分配給內建沒有任何影響。」例如在CPython中:是否可以限制PyPy中的內建函數?
>>> eval("__import__('os').system('clear')", {'__builtins__':{}})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name '__import__' is not defined
在PyPy中運行它時沒有錯誤。是否有另一種限制可用內置的方法?
感謝您的回覆。我知道空的'__builtins__'技巧不足以確保安全性,這僅僅是一個例子。 – gsakkis