python curses库

发布时间:2019-09-18 07:24:51编辑:auto阅读(1751)

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

关键字

上一篇: python连接kafka

下一篇: 用python写的agent