2013-04-10 4 views
8

Angenommen, ich habe eine Datei RegressionSystem.exe. Ich möchte diese ausführbare Datei mit einem -config Argument ausführen. Die Kommandozeile sollte wie:Wie führe ich eine EXE-Datei mit den Argumenten mit Python

RegressionSystem.exe -config filename 

Ich mag versucht haben:

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]) 

aber es hat nicht funktioniert.

+3

Es funktionierte nicht wie? Was ist die Fehlermeldung? –

Antwort

2
os.system("/path/to/exe/RegressionSystem.exe -config "+str(config)+" filename") 

Sollte funktionieren.

10

Sie können auch subprocess.call() verwenden, wenn Sie möchten. Zum Beispiel

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) 

Der Unterschied zwischen callPopen und ist im Wesentlichen, dass call blockiert, während Popen nicht mit Popen allgemeinere Funktionalität. Normalerweise call ist für die meisten Zwecke in Ordnung, es ist im Wesentlichen eine bequeme Form von Popen. Sie können mehr unter this question lesen.

Verwandte Themen