python - 如果进程结束或死亡,如何自动重新操作python脚本文件?
问题描述
我对Python真的很陌生,所以我不知道如何构建逻辑。
这是我的代码:
一个.py
import time
def main()
while i < 10:
i = i + 1
print(i)
time.sleep(1)
if __name__== '__main__':
main()
这将依次打印 1、2、3、4 ...... 11。但是,如果代码在执行过程中被终止,比如 print 1, 2, 3, 4 然后崩溃,我怎样才能让程序重新启动呢?
我想了一种方法自己做,把程序作为一个模块导入并检查它是否已经崩溃。有点像下面的伪代码:
import a
while check the a(python file):
if a is not operating:
a.main()
else:
pass
我的另一个问题是,当我想停止时,我想为代码计时。
解决方案
您可以参考以下代码,尽管我不确定这是否可以帮助您解决问题
import time
count = 0
def compute_number():
for i in xrange(10):
print ('count number: %s' % str(i+1))
time.sleep(1)
raise Exception("a", "b")
def main():
print ("AutoRes is starting")
print ("Respawning")
global count
if count < 3:
try:
count += 1
compute_number()
except Exception, e:
print (e)
main()
finally:
print ('success')
if __name__ == "__main__":
main()
推荐阅读
- node.js - InvalidParameterValue:域在 aws lambda 中的 Request.extractError 处包含控件或空格
- c# - .Net Core 控制台应用程序日志记录功能 - 为什么我的 Console.WriteLine 出现在开始和结束日志记录之外?
- android - Jetpack Compose 可以用来构建 App Widgets 吗?
- css - 引导网格合并
- apache-kafka - 如何使 Serdes 与多步 kafka 流一起工作
- xamarin.forms - 以 xamarin 形式在编辑器右侧端内剥离控件
- selenium-webdriver - 没有测试运行器的 Selenium WebDriver?
- scala - 我正在将相同的方法应用于 spark scala 中的多个数据帧,我该如何并行化呢?
- c++ - reinterpret_cast - 整数、枚举、指针或指向成员类型的表达式可以转换为它自己的类型
- openlayers - ol.sourceXYZ 和自定义投影的问题