操作系统是Redhat-clone Linux发行版,我使用的是python-2.x。
一般代码结构是:
# stuff is initialized
while True:
# read stuff from remote devices
# process data
# maybe do stuff, or maybe just watch
os.system("clear")
# display status of remote devices
time.sleep(1)
我想让用户按下各种键来驱动程序。例如。 “按S键优先关闭远程设备,按K键杀死,R重启”。所有这些行动都需要在大循环中发生 - 我的伪代码中的“可能做的事情,或者只是观看”评论。如果没有按下任何键,程序应该保持循环。
我不确定如何在一段时间内完成键盘读取True:time.sleep(1)循环。
答案 0 :(得分:1)
可能是使用curses的最简单方法;它可以让你清理屏幕而不需要使用可能存在或不存在的外部程序(虽然有趣,/usr/bin/clear
由我的Ubuntu系统上的ncurses-bin
包提供),它使{{3}这使得将文本放置在屏幕上的特定位置非常容易。
使用curses的缺点是使用它的程序很难在管道中使用。但是,如果您已经从程序内部调用clear(1)
,那么管道已经不是真正的选择。
答案 1 :(得分:1)
以下代码适用于我。
while True:
choice = raw_input("> ")
choice = choice.lower() #Convert input to "lowercase"
if choice == 'exit':
print("Good bye.")
break
if choice == 'option1':
print("Option 1 selected")
if choice == 'option2':
print("Option 2 selected")
答案 2 :(得分:0)