我正在设置此 sys.modules [' os'] =无以限制我的python笔记本中的OS模块。但我想默认限制它,/ bin中是否有任何文件可以添加此行。 如果没有,是否可以在RestrictedPython中使用?
答案 0 :(得分:1)
我认为你不能这样做,但你可以创建一个virualenv并删除那些模块
答案 1 :(得分:1)
首先,python中没有真正的沙盒(你也可以尝试PyPy,他们声称这可以通过他们的VM内部非常重要的挂钩一直到系统调用)。但是你现在可以尝试的是来自stdlib的runpy模块。它提供了一种在受限环境(但不是沙盒)中运行模块的方法,方法是将此环境明确地作为dict提供。由于import语句运行__import__
函数underkeens,因此可以重载此函数以不接受某些模块名称。虽然我不确定如何强制木星(或你正在使用的任何东西)以讨论模式运行。