今天论坛里有人问怎么实现类似linux top那样输出的效果. 

单行不换行这个知道.但是这么多行一直输出还真没折腾过.

搜索发现 curses 可以实现这个效果.

一个把当前 ps aux 部分进程显示出来的脚本

#!/usr/bin/env pythonimport cursesimport osch = 0while ch != ord("q"):    screen = curses.initscr()    screen.clear()#    screen.border(0)        for i in range(100):        try:            screen.addstr(i+1,0,os.popen("ps aux |awk 'NR==%s'" % i).read(),curses.A_NORMAL)            screen.refresh()        except:            pass    ch = screen.getch()    curses.endwin()

详细参考: