In my Python script, I want to prevent certain stdlib modules, such as os
and sys
, from being imported. How would I accomplish this?
Taking you very literally, and if you just mean "to stub them out so that they won't be loaded by a straight import", not "make them unloadable by untrusted code", then:
import sys
sys.modules['os'] = None
sys.modules['system'] = None
Of course, there is no module system
so you might have meant sys
, in which case you're in trouble.
If you're trying to keep untrusted code from being able to do Bad Things, then take a look at http://wiki.python.org/moin/SandboxedPython and realise that you're after something not immediately feasible.