Übergabe von variablen Argumenten an 'subprocess.Popen'

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lordzwieback
User
Beiträge: 55
Registriert: Montag 2. März 2015, 14:35
Kontaktdaten:

Hallo, ich bins mal wieder.

Es mag einfach nicht so funktionieren, wie ich es möchte. :D

Folgendes:
In Bezug auf diesen Thread (viewtopic.php?f=1&t=38505) möchte ich gerne variable Argumente an den subprocess übergeben.

In dem alten Thread hatte ich an die Stellen, an welche jetzt die Variablen sollen feste Werte stehen. Das hat super funktioniert.

Dazu habe ich jetzt auf einer Supportseite folgenden Lösungsansatz gefunden:

Code: Alles auswählen

response = subprocess.Popen([r"C:\Windows\Sysnative\query.exe", "/server:" + PC_Name], stdout=subprocess.PIPE).communicate()[0]
Das + deshalb, da kein Leerzeichen zwischen dem Befehl und dem Argument sein darf. Als Meldung bekomme ich nach dem Ausführen:
Ungültige(r) Parameter
[]
QUERY { PROCESS | SESSION | TERMSERVER | USER }

Falls mir jemand einen Tipp geben mag, wäre ich ihm sehr dankbar. :>

PS: Ich hab auch schon getestet, das Programm selbst (Pfad zur query.exe) und die Argumente in einer Liste zu speichern und diese dann an den subprocess zu übergeben, hat ebenso wenig funktioniert.

Grüße,
lordzwieback
lordzwieback
User
Beiträge: 55
Registriert: Montag 2. März 2015, 14:35
Kontaktdaten:

Okay, vergesst es. Habe meinen Fehler gefunden.

Ich sollte den Befehl auch vollständig angeben. so funktioniert es:

Code: Alles auswählen

response = subprocess.Popen([r"C:\Windows\Sysnative\query.exe", "user", "/server:" + PC_Name], stdout=subprocess.PIPE).communicate()[0]
Antworten