1

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

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

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

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

4

1 回答 1

0

您可以使用__import__

for script in scripts:
    __import__(script,  globals(), locals(), ['run'], -1)
    result = run()
    # log result
于 2013-05-07T02:18:23.133 回答