2017-05-26 87 views
0

导入某些模块我设置这个sys.modules中[“操作系统”] =无在我的Python笔记本限制OS模块。但我想默认限制它,/ bin中是否有任何文件可以添加此行。 如果没有,是否有可能在RestrictedPython?限制蟒蛇

回答

1

我不认为你能做到这一点,但你可以创建一个virualenv和删除这些模块有

+0

嗯,,什么限制,蟒蛇?我可以在限制Python吗? – sai

+0

如果你正在谈论RPython,则没有。 RPython不是一个Python,有点说话。它不是RPython的 –

+0

。它是https://pypi.python.org/pypi/RestrictedPython – sai

1

首先,在Python中没有真正的沙盒(您也可以尝试PyPy,他们宣称这是通过虚拟机内部的相当平凡的钩子实现一直到系统调用)。但是你现在可以尝试的是stdlib中的runpy模块。它提供了一种通过显式地提供这种环境下作为一个字典运行受限制的环境(尚未沙箱)内的模块。由于进口语句运行__import__功能underkeens,这个功能也可以被重载不接受某些模块名称。虽然我不知道如何强制Jupiter(或者你正在使用的)以讨论的模式运行。