A seconda di come si desidera lavorare con lo script sono disponibili due opzioni. Se vuoi che i comandi blocchino e non facciano nulla mentre è in esecuzione, puoi semplicemente usare subprocess.call
.
#start and block until done
subprocess.call([data["om_points"], ">", diz['d']+"/points.xml"])
Se si vuole fare le cose mentre è in esecuzione o cose di alimentazione in stdin
, è possibile utilizzare communicate
dopo la chiamata popen
.
#start and process things, then wait
p = subprocess.Popen([data["om_points"], ">", diz['d']+"/points.xml"])
print "Happens while running"
p.communicate() #now wait plus that you can send commands to process
Come indicato nella documentazione, wait
può situazione di stallo, in modo da comunicare è consigliabile.
Controlla i documenti su [subprocess.call] (http://docs.python.org/library/subprocess.html#convenience-functions) – thornomad