2

我正在运行一个 python 代码来进行连续的网络抓取(在带有 Python 2.7 的 linux mint 上)。由于某些原因,代码有时会发生故障。到目前为止,我所做的是在发生错误时手动重新运行代码。

我想编写另一个 python 代码来代替我做这个“检查状态,如果中断,然后重新运行”的工作。

我不知道从哪里开始。谁能给我一个提示?

4

1 回答 1

3

你想要这样的东西:

from my_script import main

restart = True
while restart:
    try:
        main()
        # This line will allow the script to end if main returns. Leave it out
        # if you want main to get restart even when it returns with no errors. 
        restart = False
    except Exception as e:
        print("An error in main: ")
        print(e.message)
        print("Restarting main...")

这要求您的脚本(my_script.py在此示例中)设置如下:

def foo():
    raise ValueError("An error in foo")

def main():
    print("The staring point for my script")
    foo()

if __name__ == "__main__":
    main()
于 2015-04-20T06:37:16.447 回答