根据PyPy 文档,“内置名称总是引用内置模块,而不是像有时在 CPython 中那样的字典。分配给内置没有任何效果。” 例如在 CPython 中:
>>> 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 中,它运行它没有错误。还有另一种限制可用内置函数的方法吗?