1
我想從Python 3.5運行可執行文件(線性編程求解器CLP.exe)。從Python子程序運行可執行文件的錯誤
Import subprocess
exeFile = " C:\\MyPath\\CLP.exe"
arg1 = "C:\\Temp\\LpModel.mps"
arg2 = "-max"
arg3 = " -dualSimplex"
arg4 = " -printi all"
arg5 = "-solution t solutionFile.txt"
subprocess.check_output([exeFile, arg1, arg2, arg3, arg4, arg5], stderr=subprocess.STDOUT, shell=False)
當我在Eclipse PyDev中運行python文件時,我可以在Eclipse控制檯中看到結果。
但是,解決方案結果未保存在「solutionFile.txt」文件中。
在Eclipse控制檯,我得到:
b'Coin LP version 1.16, build Dec 25 2015
command line - C:\\MyPath\\clp.exe C:\\Temp\\LpModel.mps -max -dualSimplex -printi all -solution C:\\Temp\\solution.txt
At line 1 NAME ClpDefau
At line 2 ROWS
At line 5 COLUMNS
At line 8 RHS
At line 10 BOUNDS
At line 13 ENDATA
Problem ClpDefau has 1 rows, 2 columns and 2 elements
Model was imported from C:\\Temp\\LpModel.mps in 0.001 seconds
No match for -max - ? for list of commands
No match for -dualSimplex - ? for list of commands
No match for -printi all - ? for list of commands
No match for -solution C:\\Temp\\solution.txt - ? for list of commands
Presolve 0 (-1) rows, 0 (-2) columns and 0 (-2) elements
Empty problem - 0 rows, 0 columns and 0 elements
Optimal - objective value 4
After Postsolve, objective 4, infeasibilities - dual 0 (0), primal 0 (0)
Optimal objective 4 - 0 iterations time 0.002, Presolve 0.00
當我運行在微軟Windows的命令來自命令行shell:
C:\\MyPath\\clp.exe C:\\Temp\\LpModel.mps -max -dualSimplex -printi all -solution C:\\Temp\\solution.txt
我可以在解決方案文件的結果。而且,如果我在命令行中運行命令,粗體行不會出現在輸出中。
爲什麼solition.txt文件沒有創建,並且如果我從Python子流程運行命令沒有解決方案結果保存到它?