【问题标题】:Python executing trusted but unreliable scripts [duplicate]Python执行受信任但不可靠的脚本[重复]
【发布时间】:2013-05-07 02:04:08
【问题描述】:

我希望能够执行开发脚本列表。像这样的:

def scriptRunner(scripts):
    for script in scripts
        import script
        result = script.run()
        # log result

这是一个与Python, safe, sandbox 类似的问题,只是我打算运行的脚本不会是恶意的。它们是由其他工程师创建的开发脚本。它们可能会崩溃、引发异常、陷入无限循环——诸如此类——但它们不会尝试执行 rm -rf。

我可以在脚本运行器周围放置一个框架,以便处理这些条件并记录它并继续执行下一个脚本吗?

【问题讨论】:

  • 如果他们不小心执行了rm -Rf /怎么办?
  • 我们的工程师并不完美,但也并非无能。

标签: python


【解决方案1】:

您可以使用__import__

for script in scripts:
    __import__(script,  globals(), locals(), ['run'], -1)
    result = run()
    # log result

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 2018-04-03
    • 2011-05-31
    • 2012-07-05
    • 2023-04-07
    • 2019-02-07
    相关资源
    最近更新 更多