22

file があるとしますRegressionSystem.exe-configこの実行可能ファイルを引数付きで実行したい。コマンドラインは次のようになります。

RegressionSystem.exe -config filename

私は次のように試しました:

regression_exe_path = os.path.join(get_path_for_regression,'Debug','RegressionSystem.exe')
config = os.path.join(get_path_for_regression,'config.ini')
subprocess.Popen(args=[regression_exe_path,'-config', config])

しかし、うまくいきませんでした。

4

5 に答える 5

23

必要に応じて使用することもできsubprocess.call()ます。例えば、

import subprocess
FNULL = open(os.devnull, 'w')    #use this if you want to suppress output to stdout from the subprocess
filename = "my_file.dat"
args = "RegressionSystem.exe -config " + filename
subprocess.call(args, stdout=FNULL, stderr=FNULL, shell=False)

との違いはcallPopen基本的にcallブロックしているのに対し、Popenはそうではなく、Popenより一般的な機能を提供することです。通常call、ほとんどの目的には問題なく、本質的には の便利な形式ですPopenこの質問で詳細を読むことができます。

于 2013-04-10T15:10:11.950 に答える
0

引数がどのように機能するかを理解していませんでした。例: "-fps 30" は、このように渡す必要がある 1 つではなく 2 つの引数です (Py3)

args=[exe,"-fps","30"].

多分これは誰かを助けるでしょう。

于 2021-10-01T13:34:01.503 に答える