Python 2.7中的代码退出问题

时间:2018-06-12 21:42:56

标签: python python-2.7 exit ros rospy

我正在研究ROS,我在Python 2.7编写了一个代码,在菜单中我要求用户选择选项1或2.完成任务后,当我按{{1} },而不是退出代码,它再次显示菜单,而不是退出。如果我在1或2之间选择,它会一次又一次地打印菜单。

当我按Ctrl+c而不是一次又一次地显示菜单时,为了退出代码,会建议对代码进行哪些更改?

问题的代码和屏幕截图如下:

Ctrl+c

**SCREENSHOT OF THE ERROR**

2 个答案:

答案 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):上。一旦我发表评论,它就会毫无问题地退出。