how to parse system functions output
Peter Hansen
peter at engcorp.com
Wed Apr 6 10:18:03 EDT 2005
praba kar wrote:
> eg) bytesused = os.system('du -sh /Users/enmail')
> if I print this bytesused variable the output of
> bytesused variable is the below
>
> 14M /Users/enmail
> 0
It's unlikely this is the contents of "bytesused",
because os.system() does not return the output
of the program that is run, it returns only the
exit value. (See the doc.) The "14M ..." part
is actually being printed by the "du" command
as it runs. "bytesused" contains only the "0"
that you show above.
> Now From this Output I want only '14M" I cannot split
> this output by space. If anyone know regarding this
> mail me ASAP
You are looking for either os.popen() or the newer,
more flexible "subprocess" module (available in
Python 2.4). Again, check the docs for details and
examples for both of these.
Basically you would do this:
result = os.popen('du -sh /Users/enmail').read()
# now parse result...
-Peter
More information about the Python-list
mailing list