我正在研究ROS,我在Python 2.7
编写了一个代码,在菜单中我要求用户选择选项1或2.完成任务后,当我按{{1} },而不是退出代码,它再次显示菜单,而不是退出。如果我在1或2之间选择,它会一次又一次地打印菜单。
当我按Ctrl+c
而不是一次又一次地显示菜单时,为了退出代码,会建议对代码进行哪些更改?
问题的代码和屏幕截图如下:
Ctrl+c
答案 0 :(得分:0)
不看move_group_python_interface()
就很难说。
检查错误屏幕截图(将来,在问题中包含错误文字),当^C
被触发时,您正在点击move_group_python_interface()
作为流程的一部分。
如果move_group_python_interface()
需要启动新流程,那么您退出该流程。
尝试按^C
作为菜单流程的一部分。对我来说似乎退出了。
如果您对如何捕获^C
并做出相应的回应感到好奇
检查出来
if __name__=='__main__':
while(True):
try:
print "***********"
print "1. Continuous"
print "2. Single Step"
print "***********"
try:
choice = int(raw_input('Choose a number between 1 & 2: '))
number = choice
move_group_python_interface()
except ValueError:
print "ERROR! Choose a number between 1 and 2"
except KeyboardInterrupt:
print "Bye bye"
break
执行时打印
bash > python infloop.py
***********
1. Continuous
2. Single Step
***********
Choose a number between 1 & 2: ^CBye bye
(抱歉,我没有ROS)
答案 1 :(得分:0)
我发现了这个问题。问题出在while(True):
上。一旦我发表评论,它就会毫无问题地退出。