我需要创建一个运行文件gams(myfile.gms)的python脚本。
我的文件位于F:\Otim\correct
文件夹中,因此我使用的是我在此论坛中看到的代码的一部分。我做了:
import subprocess
subprocess.check_call(["F:\Otim\correct\myfile.gms"])
我收到错误:
Runtime error
Traceback (most recent call last):
File "<string>", line 80, in <module>
File "C:\Python27\ArcGIS10.2\Lib\subprocess.py", line 506, in check_call retcode = call(*popenargs, **kwargs)
File "C:\Python27\ArcGIS10.2\Lib\subprocess.py", line 493, in call return Popen(*popenargs, **kwargs).wait()
File "C:\Python27\ArcGIS10.2\Lib\subprocess.py", line 679, in __init__errread, errwrite)
File "C:\Python27\ArcGIS10.2\Lib\subprocess.py", line 896, in _execute_child
startupinfo)
WindowsError: [Error 193] %1 is not a valid Win32 application
是的,有人能帮帮我吗?感谢
答案 0 :(得分:0)
我从未使用过gams但是在快速查看www.gams.com之后,听起来myfile.gms不是要执行的文件,而是输入文件作为gams可执行文件的参数。
所以你应该尝试类似的东西:
import subprocess
subprocess.check_call([r"C:\path\to\programs\GAMS.exe",r"F:\Otim\correct\myfile.gms"])
注意:有一个GAMS python API可以为您提供更便携的解决方案。