开发者社区 问答 正文

清理python中的exec()输入?

如果我有这样的代码:

string = input(">") exec(string) 用户可能会做类似的事情

import os os.system("rm -rf") 理想情况下,我希望用户输入类似

foo(3) 进入控制台,并将foo()其作为我定义的自定义函数,并将其传递给Python以使其吐出结果。

是否可以

转义代码指定以外的字符,例如import或os或

使用Docker之类的东西来限制程序的权限

我可以实际看到的唯一其他选择是编写自己的编程语言,但这超出了我的范围。

展开
收起
被纵养的懒猫 2019-09-25 15:16:46 538 分享 版权
1 条回答
写回答
取消 提交回答
  • 复杂一点的解释代码用exec() 简单的建议用eval()

    2019-10-30 15:31:26
    赞同 展开评论
问答分类:
问答地址: