python命令行终端下操作界面库(curses,urwid,npyscreen)

来源:互联网 发布:电视软件哪个资源多 编辑:程序博客网 时间:2024/05/22 14:07

npyscreen

http://code.google.com/p/npyscreen/


urwid

http://excess.org/urwid/




1,

python自带了curses库

http://coolshell.cn/articles/677.html


import curses  myscreen = curses.initscr() myscreen.border(0)myscreen.addstr(12, 25, "Python curses in action!")myscreen.refresh()myscreen.getch() curses.endwin()






#!/usr/bin/env python from os import systemimport curses def get_param(prompt_string):     screen.clear()     screen.border(0)     screen.addstr(2, 2, prompt_string)     screen.refresh()     input = screen.getstr(10, 10, 60)     return input def execute_cmd(cmd_string):     system("clear")     a = system(cmd_string)     print ""     if a == 0:          print "Command executed correctly"     else:          print "Command terminated with error"     raw_input("Press enter")     print "" x = 0 while x != ord('4'):     screen = curses.initscr()      screen.clear()     screen.border(0)     screen.addstr(2, 2, "Please enter a number...")     screen.addstr(4, 4, "1 - Add a user")     screen.addstr(5, 4, "2 - Restart Apache")     screen.addstr(6, 4, "3 - Show disk space")     screen.addstr(7, 4, "4 - Exit")     screen.refresh()      x = screen.getch()      if x == ord('1'):          username = get_param("Enter the username")          homedir = get_param("Enter the home directory, eg /home/nate")          groups = get_param("Enter comma-separated groups, eg adm,dialout,cdrom")          shell = get_param("Enter the shell, eg /bin/bash:")          curses.endwin()          execute_cmd("useradd -d " + homedir + " -g 1000 -G " + groups + " -m -s " + shell + " " + username)     if x == ord('2'):          curses.endwin()          execute_cmd("apachectl restart")     if x == ord('3'):          curses.endwin()          execute_cmd("df -h") curses.endwin()







2,pip install urwid

urwid 功能及例子很丰富,用法更传统



3,pip install npyscreen

npyscreen最近还有更新,而用法基本是对象化,跟c#/java更接近

0 0