今天论坛里有人问怎么实现类似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