subprocess.popen question
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Wed Jun 20 20:50:16 EDT 2007
En Wed, 20 Jun 2007 20:02:52 -0300, Eric_Dexter at msn.com
<Eric_Dexter at msn.com> escribió:
> On Jun 20, 1:46 pm, "Gabriel Genellina" <gagsl-... at yahoo.com.ar>
> wrote:
>>
>> cmd = ["gawk", "-f", "altertime.awk", "-v", "time_offset=4", "-v",
>> "outfile=testdat.sco", "i1.sco"]
>> Now, what do you want to do with the output? Printing it line by line?
>> output = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
>> lines = output.splitlines()
>> for line in lines:
>> print line
>>
>
> C:\dex_tracker\pipe1.py
> Traceback (most recent call last):
> File "C:\dex_tracker\pipe1.py", line 14, in
> last_line = subprocess.Popen([cmd],
> stdout=subprocess.PIPE).communicate()[0]
> File "C:\Python25\lib\subprocess.py", line 593, in __init__
> errread, errwrite)
> File "C:\Python25\lib\subprocess.py", line 793, in _execute_child
> startupinfo)
> WindowsError: [Error 2] The system cannot find the file specified
> Script terminated.
>
> I can write it out as a batch file and then run it but that is a messy
> hack..
If cmd is a list of arguments, like the example above, you should use
subprocess.Popen(cmd,...) (like the example above, too).
--
Gabriel Genellina
More information about the Python-list
mailing list