Python中按顺序运行多脚本遇错时,如何继续执行后续脚本
脚本报错后继续执行后续任务
我需要按列表I的顺序运行多个脚本,但当某个文件夹(如2)中的脚本报错时,程序会直接终止,无法继续执行文件夹3中的脚本。希望实现报错时不中断流程,继续执行下一个脚本。
原执行代码
I=[1,2,3] for i in I: exec(open(rf"C:\5100 nodes\{i}\5100_beta_0.01_50.0_1.0ND_3.py").read())
遇到的错误信息
File "
", line 618, in
ValueError: max() arg is an empty sequence
解决方案:使用try-except捕获异常
在循环中用try-except块包裹脚本执行逻辑,捕获异常后打印错误信息并继续执行下一个脚本:
I=[1,2,3] for i in I: try: exec(open(rf"C:\5100 nodes\{i}\5100_beta_0.01_50.0_1.0ND_3.py").read()) except Exception as e: # 打印错误详情,定位出错的脚本 print(f"文件夹{i}的脚本执行失败: {type(e).__name__}: {e}") # 跳过当前错误脚本,继续执行下一个 continue
补充说明
- 如果只想处理特定类型的异常(比如只针对
ValueError),可以把Exception替换为ValueError,这样其他未捕获的异常仍会终止程序,按需调整即可。 - 保留错误打印能帮你快速定位哪个文件夹的脚本出了问题,方便后续排查修复。
内容的提问来源于stack exchange,提问作者rajunarlikar123
相关产品推荐
相关产品推荐

