[英]How to restart Python script with subfunctions
我有一個龐大的Python腳本,當它崩潰時需要自動重新啟動。 當我嘗試通過將腳本包裝到函數中然后通過while True
調用它的標准方法while True
,出現以下錯誤:
SyntaxError: unqualified exec is not allowed in function 'wrappedFunc' because it contains a nested function with free variables
據我了解,這是由於我的主腳本具有子功能。 我是否仍可以通過Python進行操作,還是應該在Windows中通過批處理文件完成操作?
該錯誤與在具有子功能的函數中使用exec
關鍵字有關。 Python的需要你明確地確定其范圍exec
將使用在這種情況下運行。
exec命令: execfile('file.py')
。 不安全且有點hacky。 盡可能避免。 產生一個shell進程: os.system('python file.py')
。 絕望時使用。
PS:我還沒有嘗試過調用/運行相同的文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.