开发者社区> 问答> 正文

清理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 524 0
1 条回答
写回答
取消 提交回答
  • 复杂一点的解释代码用exec() 简单的建议用eval()

    2019-10-30 15:31:26
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载