我正在使用 python 批量运行使用
subprocess.run()
函数为 Windows 操作系统编译的科学应用程序 (DNDC):
import subprocess
subprocess.run(r'root_path_to_dndc/exe/console/DNDC95.exe -s path_to_input.txt -output path_to_output -root root_path_to_dndc')
DNDC 偶尔会弹出一个窗口,显示一些错误消息,这些消息阻止 python 代码继续运行,直到我手动单击“确定”按钮继续。有没有什么方法可以捕获错误消息然后终止进程?这很重要,因为我需要运行最后一个代码很多次(> 100k)。
我尝试在代码中设置
try, except
块,但问题是当 DNDC .exe 成功启动时,Python 没有检测到错误。因此,我需要弄清楚如何捕获 DNDC 触发的错误消息窗口。
详情:
感谢您的帮助。
我会尝试找到错误对话框的窗口名称,并定期使用另一个进程中的该名称“评估打开的窗口”。如果找到,则使用窗口信息找到其进程并杀死它(或 SendKeys(" “))。
我知道它可以在 Windows 中完成,并且我相信它也应该在 wine 下工作。