On Fri, Mar 24, 2017 at 6:42 PM, adam.c.bernier <adam.c.bern...@kp.org> wrote: > > I am on Windows 7. Python 2.7 > > I'm trying to have a program run another program using `subprocess.Popen` > > import subprocess as sp > > args = shlex.split(args)
Is this command supposed to run cross-platform? If not, then splitting it into a list is pointless. Windows uses a comand-line string, and Popen will just have to rebuild the command line from the list. > proc = sp.Popen(args,stdout=sp.PIPE,stderr=sp.PIPE) > out, err = proc.communicate() > proc.wait() > > But it *sometimes* doesn't wait and the other program -- which generates a > set of > 14 Excel files -- does not complete before control is returned to the calling > program. > > Any ideas on what I can do to make `subprocess.wait()` actually wait? > > Thanks in advance for any assistance you might be able to provide. Without knowing the command you're running, all we can do is speculate. It could be that it's an application that uses a single instance, in which case running another instance simply messages the main process and then exits. -- https://mail.python.org/mailman/listinfo/python-list