如何编写Python控制台程序可以像Linux中的top命令一样输出?

red*_*ice 6 python

Linux中top命令的输出如下:

任务:总共158次,1次跑步,157次睡眠,0次停止,0次僵尸Cpu:6.3%us,3.2%sy,0.0%ni,89.9%id,0.2%wa,0.0%hi,0.2%si,0.0 %st Mem:8264212k总计,2637492k使用,5626720k免费,299884k缓冲交换:总共4192924k,0k使用,4192924k免费,2010332k缓存

PID用户PR NI VIRT RES SHR S%CPU%MEM TIME + COMMAND
7178 mysql 15 0 52876 31m 4680 S 21.3 0.4 308:12.04 mysqld
2262 www 16 0 28092 11m 4764 S 4.0 0.1 2:02.31 php-cgi
2110 www 16 0 27956 11m 4888 S 3.7 0.1 2:04.51 php-cgi
2005 www 16 0 28680 12m 4872 S 3.0 0.2 2:04.10 php-cgi
1955 www 16 0 28476 12m 5220 S 2.7 0.1 2:06.51 php-cgi
2030 www 16 0 28260 11m 4872 S 2.0 0.1 2:05.27 php-cgi
7044 www 15 0 24348 19m 932 S 0.7 0.2 1:58.38 nginx

只有部分内容不断变化.

我只能输出一行不断更新而不换行:

import  sys
import  time

if __name__ == '__main__':
    i = 0
    while True:
        sys.stdout.write('i = %d.\r' % i)
        sys.stdout.flush()
        time.sleep(1)
        i += 1
Run Code Online (Sandbox Code Playgroud)

我想知道如何像top命令一样输出多行(在没有换行的情况下不断变化).

对不起,我的英语很差.希望有道理.

谢谢,齐

Jer*_*emy 6

您将需要使用库来处理与控制台的交互,例如http://docs.python.org/howto/curses.html