Seite 1 von 1

Probleme mit subprocess.Popen

Verfasst: Donnerstag 9. Juli 2009, 11:35
von kevelll
Hallo zusammen,

ich habe ein Problem mit "subprocess.Popen" bei der Übergabe von Argumenten an ein Programm! Hatte zuvor noch nie mit "subprocess.Popen" was gemacht!

Folgende Situation:

Ich habe ein Programm -> "vcbMounter.exe" das mit Argumente/Übergabeparameter gefüttert werden muss!

Argumente: -h 192.168.210.5 -m nbd -u administrator -a name:fw2 -r C:\vcb\fw2


Habe bis jetzt folgende ausprobiert:

Path zum Programm:

Code: Alles auswählen

#Pfad zum Programm
cmd2 = "C://Programme//...//vcbMounter.exe"

Code: Alles auswählen

vcbMounter = subprocess.Popen([cmd2], stdout=subprocess.PIPE)
vcbMounter.wait()
vcbMounter = vcbMounter.stdout.read()
Scheint auch zu funktionieren da auf der Konsole Rückgabetexte (Argumente fehlen etc.) vom ausführbaren Programm kommen!

Nur leider weiß ich nicht, wie ich meine Argumente übergebe! Habe schon ein paar Sachen ausprobiert aber bekomme es nicht hin!

Kann mir da jemand auf die Sprünge helfen?
Würde mich über jede Antwort/Hilfestellung von euch freuen!

Vielen Dank im voraus..!

Verfasst: Donnerstag 9. Juli 2009, 12:05
von cofi
Uebergib die Argumente als Liste:

Code: Alles auswählen

exec_path = r"C:\Programme\...\vcbMounter.exe"
arguments = [exec_path, "-h", "192.168.210.5", "-m", "nbd", "-u", "administrator", "-a", "name:fw2", "-r", r"C:\vcb\fw2"]
vcbMounter = subprocess.Popen(arguments,stdout=subprocess.PIPE)
...

Verfasst: Donnerstag 9. Juli 2009, 12:34
von kevelll
Super vielen Dank! Mein Fehler war, dass ich bei der Paramterübergabe die Werte falsch getrennt hatte!

So hatte ich es gemacht: "-h 192.168.210.5" usw..!
Wusste nicht das jedes Element einzeln stehen muss!

Daher auch der Fehler!
Danke für die schnelle Antwort!