On Friday, March 24, 2017 at 1:37:49 PM UTC-7, eryk sun wrote: > 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.
Thank you, eryk sun. The command is calling a Python script which makes calls to openpyxl to generate 14 Excel files. -- https://mail.python.org/mailman/listinfo/python-list