calling python scripts as a sub-process

Mike Driscoll kyosohma at
Wed Nov 19 20:17:12 CET 2008

On Nov 19, 1:03 pm, Catherine Moroney
<Catherine.M.Moro... at> wrote:
> I have one script (Match1) that calls a Fortran executable as a
> sub-process, and I want to write another script (Match4) that
> spawns off several instances of Match1 in parallel and then waits
> until they all finish running.  The only way I can think of doing this
> is to call it as a sub-process, rather than directly.
> I'm able to get Match1 working correctly in isolation, using the
> subprocess.Popen command, but calling an instance of Match1 as a
> subprocess spawned from Match4 isn't working.
> The command (stored as an array of strings) that I'm executing is:
> ['python ../src_python/ ',
> '--file_ref=MISR_AM1_GRP_ELLIPSOID_GM_P228_O003571_BF_F03_0024.hdf ',
> '--file_cmp=MISR_AM1_GRP_ELLIPSOID_GM_P228_O003571_DF_F03_0024.hdf ',
> '--block_start=62 ', '--block_end=62 ', '--istep=16 ', "--chmetric='M2'
> ", "--use_textid='true '"]
> and I'm calling it as:
> sub1 = subprocess.Popen(command)
> I get the error below.  Does anybody know what this error refers
> to and what I'm doing wrong?  Is it even allowable to call another
> script as a sub-process rather than calling it directly?
>   File "../src_python/", line 24, in RunMatch4
>      sub1 = subprocess.Popen(command1)
>    File "/usr/lib64/python2.5/", line 593, in __init__
>      errread, errwrite)
>    File "/usr/lib64/python2.5/", line 1051, in _execute_child
>      raise child_exception
> OSError: [Errno 2] No such file or directory
> Thanks for any help,
> Catherine

Try giving an absolute path to the python file rather than a relative
path. I don't think the subprocess module "knows" where to look


More information about the Python-list mailing list