python + curses 在终端上开发光标菜单
2023-09-14 08:59:51 时间
menuwin.border(0)
menubar = ["1 - Add a user", "2 - Restart Apache", "3 - Show disk space", "Test", "Neo", "Netkiller""4 - Exit"]
menuwin.addstr(1, 1, "Please enter a number...")
current = 0
while 1 :
menuitem = 0
#print (menuitem,current )
menuwin.refresh()
for m in menubar:
if current == menuitem:
menuwin.addstr(menuitem+2, 4,m , curses.A_REVERSE)
else:
menuwin.addstr(menuitem+2, 4, m)
menuitem=menuitem+1
key = menuwin.getch()
if key == curses.KEY_UP:
if current = 0 :
current = 0
else:
current = current-1
#char = history[menuitem]
#cliwin.clear()
#cliwin.addstr(1,1,char)
#print("up",line)
#print(history[line])
if key == curses.KEY_DOWN:
if current = len(menubar)-1 :
current = len(menubar)-1
else:
current = current + 1
#char = history[menuitem]
#cliwin.clear()
#cliwin.addstr(1,1,char)
#print("down",line)
#print(history[line])
if key == 10:
choice = current
print(choice)
#if key == 27:
# return
while key != ord(q):
screen.refresh()
subwin = screen.subwin(0, width, 0, 0)
subwin.box()
cliwin = screen.subwin(0, width, height-3, 0)
cliwin.box()
key = screen.getch()
#print(key)
if 31 key 126:
c=chr(key)
char.append(c)
#screen.addstr(2,2,c)
cliwin.addstr(1,column+1,c)
column = column+1
#screen.refresh()
else:
pass # Ignore incorrect keys
if key in (curses.KEY_ENTER,10):
if len(char) 1:
cmd = .join(char)
history.append(cmd)
#system(cmd)
subwin.clear()
subwin.addstr(1,1,subprocess.getoutput(cmd))
char = []
line += 1
column = 0
cliwin.refresh()
cliwin.clear()
#print ("ENTER!!!")
if key == curses.KEY_LEFT:
curses.beep()
print("left")
if key == curses.KEY_RIGHT:
curses.beep()
print("right")
if key == curses.KEY_UP:
if line = 0 :
line = 0
else:
line = line-1
char = history[line]
cliwin.clear()
cliwin.addstr(1,1,char)
#print("up",line)
#print(history[line])
if key == curses.KEY_DOWN:
if line !=0 or line len(history)-1 :
line = len(history)-1
else:
line = line+1
char = history[line]
cliwin.clear()
cliwin.addstr(1,1,char)
#print("down",line)
#print(history[line])
if key == curses.KEY_HOME:
#subwin = screen.subwin(0, width, 0, 0)
screen.addstr(1,1,\n.join(history))
if key == curses.KEY_END:
print(char)
if key == 27:
menu(screen)
#KEY_BACKSPACE
#KEY_NPAGE KEY_PPAGE
# 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")
#
#exit()
#screen.refresh()
screen.keypad(0)
curses.echo() ; curses.nocbreak()
screen.clear()
curses.endwin()
量化合约系统开发(开发python)丨量化合约系统开发(策略详情)丨量化合约源码版开发 从交易端来讲:量化交易是指交易的内容,将交易条件通过python或VB转变成为程序语言,通过条件指令使交易终端按照设定的条件自动下单交易;
量化合约系统开发(Python开发)丨合约量化系统开发(成品及源码) 量化交易:是在交易阶段由计算机自动进行的一种投资模式,它是对人类的投资理念进行规范化、变量化、模型化,形成一整套可量化的操作理念,并用历史数据进行分析和验证。
netkiller Nickname:netkiller | English name: Neo chen | QQ: 291379 | 订阅号:netkiller-ebook | 网站:http://www.netkiller.cn
量化合约系统开发(开发python)丨量化合约系统开发(策略详情)丨量化合约源码版开发 从交易端来讲:量化交易是指交易的内容,将交易条件通过python或VB转变成为程序语言,通过条件指令使交易终端按照设定的条件自动下单交易;
量化合约系统开发(Python开发)丨合约量化系统开发(成品及源码) 量化交易:是在交易阶段由计算机自动进行的一种投资模式,它是对人类的投资理念进行规范化、变量化、模型化,形成一整套可量化的操作理念,并用历史数据进行分析和验证。
netkiller Nickname:netkiller | English name: Neo chen | QQ: 291379 | 订阅号:netkiller-ebook | 网站:http://www.netkiller.cn
相关文章
- Python编辑开发:pycharm pro 2022.2.1汉化版
- python字符串转化列表_Python列表到字符串的转换[通俗易懂]
- python黑帽子三通过paramiko使用ssh
- python获取软件窗口句柄_python获取窗口句柄并将指定应用置顶
- 【说站】python交换两个变量的值
- python打开h5文件可视化_python环境变量的配置
- Python udp编程_python socket udp
- python发邮件初试yagmail
- Python文件名后缀_python获取目录下所有文件的文件名
- 使用Python批量给图片添加文字
- 解决 Python 存储 CSV 文件时多余空行
- 搭建python开发环境-c++教程 如何搭建Python开发环境?
- python代码实例大小写转换,首字母大写,去除特殊字符详解编程语言
- Python开发系列课程(21) – Django 2.x实战(01) – 快速上手详解编程语言
- python全栈开发-Day5 集合详解编程语言
- Python中MongoDB使用详解编程语言
- 盘点提高Python代码效率的方法