newbie:trying to read in stdoutput of commands under various *nixes

Delaney, Timothy C (Timothy) tdelaney at
Wed Jul 14 00:14:06 CEST 2004

googleboy wrote:

> #!/usr/bin/python
> import string, os
> name = "uname"
> outName = os.popen ( name, "w" )
> print outName
> =+=
> and get output like:
> <open file 'uname', mode 'w' at 0x8169f90>
> Linux

Here you are opening a pipe in "write" mode. uname writes to stdout
(hence the "Linux" line) then returns a file-like object that you can
write to. That's the first line.

What you want is to open the process in "read" mode, then read the data
from it. Untested:

import os
pin = os.popen("uname", "r")


Tim Delaney

More information about the Python-list mailing list