今天论坛里有人问怎么实现类似linux top那样输出的效果.
单行不换行这个知道.但是这么多行一直输出还真没折腾过.
搜索发现 curses 可以实现这个效果.
一个把当前 ps aux 部分进程显示出来的脚本
#!/usr/bin/env python
import curses
import os
ch = 0
while 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()
详细参考:
docs.python.org/2/howto/curses.html
tuxradar.com/content/code-project-build-ncurses-ui-python
stackoverflow.com