Output from subprocess.Popen()
Fredrik Lundh
fredrik at pythonware.com
Sun Oct 15 11:04:23 EDT 2006
Clodoaldo Pinto Neto wrote:
> Output from the shell:
>
> [cpn at s0 teste]$ set | grep IFS
> IFS=$' \t\n'
>
> Output from subprocess.Popen():
>
>>>> import subprocess as sub
>>>> p = sub.Popen('set | grep IFS', shell=True, stdout=sub.PIPE)
>>>> p.stdout.readlines()[1]
> "IFS=' \t\n"
>
> Both outputs for comparison:stdout=subprocess.PIPE)
> IFS=$' \t\n'
> "IFS=' \t\n"
>
> The subprocess.Popen() output is missing the $ and the last '
if you expect one line of output, why are you doing readlines()[1] ?
>>> f = subprocess.Popen("set | grep IFS", shell=True,
>>> f.stdout.readlines()[1]
Traceback (most recent call last):
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
this works for me:
>>> f = subprocess.Popen("set | grep IFS", shell=True,
stdout=subprocess.PIPE)
>>> f.stdout.readlines()
["IFS=$' \\t\\n'\n"]
what does the above return on your machine?
</F>
More information about the Python-list
mailing list