I have a script where I launch with popen a shell command.
The problem is that the script doesn't wait until that popen command is finished and go continues right away.
om_points = os.popen(command, "w")
Depending on how you want to work your script you have two options. If you want the commands to block and not do anything while it is executing, you can just use
#start and block until done subprocess.call([data["om_points"], ">", diz['d']+"/points.xml"])
If you want to do things while it is executing or feed things into
stdin, you can use
communicate after the
#start and process things, then wait p = subprocess.Popen(([data["om_points"], ">", diz['d']+"/points.xml"]) print "Happens while running" p.communicate() #now wait
As stated in the documentation,
wait can deadlock, so communicate is advisable.