如何从 GAMS Python API 运行 获取 return 代码

How to get return code from GAMS Python API run

有没有办法从 GAMS Python API 中的 运行 GamsJob 获取 return 代码?意思是,在我执行 job.run() 之后,来自此执行的 return 代码是否存储在我可以访问的某个地方?

return 代码应与 运行 文件位于同一文件夹中。

例如,使用transport1.py示例https://gams.com/latest/docs/apis/examples_python/index.html,您可以找到如下.lst文件:

  • t1._file_name 给你一个 "PATH\transport.gms"(其中 transport.gms 是将模型定义为 运行 的文件)
  • t1._job_name 给你工作名称
  • 从那里开始:PATH\t1._job_name.lst是第一个文件,如下:

    os.path.dirname(t1._file_name)+"\"+t1._job_name+".lst"
    
如果 return 代码不为零,

job.run() 将抛出存储在属性 .rc 中的 return 代码的异常。因此:

try:
    job.run()
except GamsExceptionExecution as e:
    print(e.rc)  # This is a non-zero return code