如何知道程序在后台运行时何时完成?

时间:2016-05-31 17:03:17

标签: python python-2.7 subprocess arcgis arcpy

我使用ArcGIS 10.2创建界面。我使用Python 2.7使用

在后台调用和运行Gams
import subprocess
subprocess.check_call([r"C:\GAMS\win64\24.4\gamside.exe",r"C:\Users\sofia\Downloads\file_name.gms"])

在gams运行后,它会导出excel文件,我需要一种方法来了解该程序已完成运行并打开此excel结果文件。我怎么知道什么时候跑完了?可以通过发送标志或其他方法吗?

1 个答案:

答案 0 :(得分:1)

来自manual

  

subprocess.check_call(args,*,stdin = None,stdout = None,stderr = None,shell = False)

     

使用参数运行命令。等待命令   完成。如果返回码为零,则返回,否则加注   CalledProcessError。 CalledProcessError对象将返回   返回码属性中的代码。

只需用try / except打电话给你,然后检查退出代码,你就会知道它是否成功完成。