Re: a popen command line question

2009-08-31 Thread Nitebirdz
On Sat, Aug 29, 2009 at 01:13:12PM -0700, Joni Lee wrote:
 Hi all,
 
 I write a small script
 
 status = os.popen('top').readlines()
 print status
 
 It calls the command line top and will print out the status.
 But I have to press the keyboard q to quit top, then the status
 will be printed, otherwise it just stands by with blank.
 
 Question is. Do you know how to give q into my python script so that
 top is automatically quit immediately or maybe after 1s (for
 gathering information)
 

Why not run the actual 'top' command in batch mode with only one
iteration?  It's in the man page.  I'm referring to this:

  status = os.popen('top -b -n 1').readlines()


Also, the following approach seems to display a nicer output:

-
#!/usr/bin/env python

import os

status=os.popen('top -b -n 1')
for i in status.readlines():
  print i
-


Or how about the following?

-
#!/usr/bin/env python

import commands

status=commands.getoutput('top -b -n 1')
print status
-


Mind you, I'm just suggesting different approaches.  I'm new to Python
and don't necessarily know what I'm doing.  Other more experienced
people may be able to suggest something better.


-- 
http://mail.python.org/mailman/listinfo/python-list


a popen command line question

2009-08-30 Thread Joni Lee
Hi all,

I write a small script

status = os.popen('top').readlines()
print status

It calls the command line top and will print out the status.
But I have to press the keyboard q to quit top, then the status will be 
printed, otherwise it just stands by with blank.

Question is. Do you know how to give q into my python script so that top is 
automatically quit immediately or maybe after 1s (for gathering information)

Sorry the question is weird.



  -- 
http://mail.python.org/mailman/listinfo/python-list