Ho uno script che chiama un altro script python dal sottoprocesso.Procedro modulo. Ma dal momento che ho argomenti memorizzato nella variabile (s)Passaggio di variabili a sottoprocesso.Popen
servers[server]['address']
servers[server]['port']
servers[server]['pass']
io sono in grado di eseguire il comando
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)
Soluzione:
ho preso a lavorare con pettinatura @wilberforce & @ Risposta del ciphor ma con una piccola modifica
command = "python mytool.py -a %s -x %s -p %s some additional command" % (servers[server]['address'], servers[server]['port'], servers[server]['pass'])
p = subprocess.Popen(command , shell=True, stdout=subprocess.PIPE)
Cessa di funzionare se aggiungo diverse variabili tra virgolette, potrebbe richiedere al massimo "2" variabili e rompere ho aggiunto di più.
Grazie a tutti quelli che hanno risposto!
Utilizzare le variabili per creare una stringa che costituisce il comando o passarle come elenco di argomenti. – beroe