当前位置:首页 » Python技术

python curses库

2015-06-20 22:33 本站整理 浏览(17)
今天论坛里有人问怎么实现类似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