Übergeben von Variablen zu Teilprozess.Popen

Ich habe ein script, das ruft ein weiteres python-Skript durch den Teilprozess.Popen-Modul. Da habe ich aber Argumente gespeichert in variable(N)

servers[server]['address']
servers[server]['port']
servers[server]['pass']

Ich bin nicht in der Lage, um den Befehl auszuführen

p = subprocess.Popen(["python mytool.py -a ", servers[server]['address'], "-x", servers[server]['port'], "-p", servers[server]['pass'], "some additional command"], shell=True, stdout=subprocess.PIPE)
  • Die die Variablen verwenden, erstellen Sie eine Zeichenfolge, die den Befehl oder geben Sie Sie als eine Liste von Argumenten.
  • Antworten, die nicht bearbeitet werden sollen, zu Fragen. Dabei vermeidet der springende Punkt bei der Bestellung basierend auf community-gewichtete Abstimmung, die ist besonders gefährlich, weil hier die Problemumgehung, die Sie verwenden, hat schwerwiegende Sicherheitslücken (wenn Sie einen server-Namen enthält $(rm -rf ~), erraten, was passiert?).
  • Siehe auch Ist es OK, für die Bearbeitung der akzeptierten Antworten in der Frage? auf Meta-Stack Overflow.
InformationsquelleAutor GaNi | 2013-11-22
Schreibe einen Kommentar