当前位置: 首页 > 工具软件 > Urwid > 使用案例 >

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

颛孙正卿
2023-12-01

npyscreen

urwid

1,

python自带了curses库

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 system

import 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更接近

 类似资料: