如何使用子功能重新启动Python脚本

时间:2018-07-02 18:07:58

标签: python python-2.7

我有一个庞大的Python脚本,当它崩溃时需要自动重新启动。当我尝试通过将脚本包装到函数中然后通过while True进行调用的标准方法时,出现此错误:

SyntaxError: unqualified exec is not allowed in function 'wrappedFunc' because it contains a nested function with free variables

据我了解,这是由于我的主脚本具有子功能。我是否仍可以通过Python进行操作,还是应该在Windows中通过批处理文件完成操作?

2 个答案:

答案 0 :(得分:0)

该错误与在具有子功能的函数中使用exec关键字有关。 Python需要您明确确定exec在这种情况下将用于哪个范围。

答案 1 :(得分:0)

exec命令:jsonb。不安全且有点hacky。尽可能避免。 产生一个shell进程:execfile('file.py')。绝望时使用。

PS:我没有尝试过调用/运行相同文件