引发错误后,有什么方法可以自动运行脚本

时间:2019-05-10 11:05:36

标签: python

我有一个24/7全天候运行的python脚本,有时会引发错误,然后停止工作。我想知道崩溃后有什么方法可以重新启动脚本吗?

我尝试了一个简单的程序,该程序以零分割错误停止,并且在互联网上使用了许多方法,但没有一个起作用:这是示例代码:

_list = [30,15,12,2,9,7,8,4,53,6,5,1,5,8,19,5,0]
for a in _list:
    x = 2/a
    print(x)

,错误是:

0.25
0.10526315789473684
0.4
Traceback (most recent call last):
  File "restart.py", line 29, in <module>
    x = 2/a
ZeroDivisionError: division by zero

2 个答案:

答案 0 :(得分:0)

尝试一下:

for a in _list:
    try:
        x = 2/a
        print(x)
    except ZeroDivisionError:
        pass

答案 1 :(得分:0)

就像错误状态一样,有时您的代码试图将0除以:

x = 2/a

但这是不可能的,因此Python会给您一个错误。要解决此问题,您可以检查a是否为零,或者捕获异常并通过。我认为第一种方法更好,因为可以避免这种异常。因此,这是两个解决方案:

1。检查a是否为零

for a in _list:
    if a is not 0:
        x = 2/a
        print(x)

2。尝试/捕获ZeroDivisionError

for a in _list:
    try:
        x = 2/a
        print(x)
    except (ZeroDivisionError):
        pass