我正在运行一个 python 代码来进行连续的网络抓取(在带有 Python 2.7 的 linux mint 上)。由于某些原因,代码有时会发生故障。到目前为止,我所做的是在发生错误时手动重新运行代码。
我想编写另一个 python 代码来代替我做这个“检查状态,如果中断,然后重新运行”的工作。
我不知道从哪里开始。谁能给我一个提示?
我正在运行一个 python 代码来进行连续的网络抓取(在带有 Python 2.7 的 linux mint 上)。由于某些原因,代码有时会发生故障。到目前为止,我所做的是在发生错误时手动重新运行代码。
我想编写另一个 python 代码来代替我做这个“检查状态,如果中断,然后重新运行”的工作。
我不知道从哪里开始。谁能给我一个提示?
你想要这样的东西:
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()