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

Reply via email to