The rexec Module
The rexec
module, shown in Example 14-6, provides versions of exec
,
eval
, and import
, which
execute code in a restricted execution environment. In this
environment, functions that can damage resources on the local machine
are no longer available.
Example 14-6. Using the rexec Module
File: rexec-example-1.py import rexec r = rexec.RExec() print r.r_eval("1+2+3") print r.r_eval("_ _import_ _('os').remove('file')")6
Traceback (innermost last):
File "rexec-example-1.py", line 5, in ?
print r.r_eval("_ _import_ _('os').remove('file')")
File "/usr/local/lib/python1.5/rexec.py", line 257, in r_eval
return eval(code, m._ _dict_ _)
File "<string>", line 0, in ?
AttributeError: remove
Get Python Standard Library now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.