按ESCape时如何退出python2.x脚本

时间:2015-04-20 06:21:32

标签: python linux bash escaping

我是python的新手,我有一个python2.x脚本,要求用户在bash中的答案A,B或C之间进行选择。在等待用户输入的同时仅按下转义键时,如何使脚本立即退出?

目前,我有这个功能。但是,在转义键之后我也必须按回车键。

def choice(prompt):
    """
    Choose A, B or C
    ESC exits script
    """
    while True:
        char = raw_input(prompt)
        if char.encode() == '\x1B': # ESC is pressed
            sys.exit("Quitting ...")
        elif char.lower() not in ('a', 'b', 'c'):
            print("Wrong input. Please try again.")
            continue
        else:
            break
    return char

user_choice = choice("\nChoose between A - C: ")
print("You chose %s.") % user_choice.upper()

代码是UTF-8,bash终端的转义键给我^ [。据我所知,msvcrt在Linux中不起作用。可以这样做,所以脚本适用于Windows和Linux吗?

1 个答案:

答案 0 :(得分:-2)

要在不必用户输入的情况下进行阅读和输入,您可以使用msvcrt模块。您可以找到有关它的更多信息here