限制在python中导入某些模块

时间:2017-05-26 13:43:05

标签: python

我正在设置此 sys.modules [' os'] =无以限制我的python笔记本中的OS模块。但我想默认限制它,/ bin中是否有任何文件可以添加此行。 如果没有,是否可以在RestrictedPython中使用?

2 个答案:

答案 0 :(得分:1)

我认为你不能这样做,但你可以创建一个virualenv并删除那些模块

答案 1 :(得分:1)

首先,python中没有真正的沙盒(你也可以尝试PyPy,他们声称这可以通过他们的VM内部非常重要的挂钩一直到系统调用)。但是你现在可以尝试的是来自stdlib的runpy模块。它提供了一种在受限环境(但不是沙盒)中运行模块的方法,方法是将此环境明确地作为dict提供。由于import语句运行__import__函数underkeens,因此可以重载此函数以不接受某些模块名称。虽然我不确定如何强制木星(或你正在使用的任何东西)以讨论模式运行。