Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有任何方法可以使用键盘命令使python程序在执行过程中的任何时候停止?_Python_Python 3.x_Multithreading - Fatal编程技术网

是否有任何方法可以使用键盘命令使python程序在执行过程中的任何时候停止?

是否有任何方法可以使用键盘命令使python程序在执行过程中的任何时候停止?,python,python-3.x,multithreading,Python,Python 3.x,Multithreading,我正在用Python 3.8.3为学校作业创建一个CLI choose your own adventure游戏。我的代码结构如下: While True: if room=='a room': (code for the room, ending with a change of rooms) elif room=='another room': (code for the room, ending with a change of rooms)

我正在用Python 3.8.3为学校作业创建一个CLI choose your own adventure游戏。我的代码结构如下:

While True:
    if room=='a room':
        (code for the room, ending with a change of rooms)
    elif room=='another room':
        (code for the room, ending with a change of rooms)
    etc.
我希望能够在任何时候使用ctrl+r重新启动我的程序

我尝试过使用Pygame的事件列表,但这对我不起作用,因为我无法在程序中的其他东西运行时检查它。我想我需要python中的一些东西,可以与主程序同时运行,不断地检查CTRL+R的输入


我听说有一个async关键字可能可以做到这一点,但我不知道如何做到。

您真的需要能够在任何时候重新启动吗?能够在
while
循环的任何迭代开始时重新启动就足够了吗?因为这会容易得多,如果你看看真实世界的游戏是如何工作的,它们往往更像那样。读一个Control-r很容易,但我强烈建议你不要读。要求程序的用户输入控制序列是自找麻烦,因为某些控制序列会中断程序,而在python中无法阻止它。例如,Cortrol-C。用户的输入错误可以结束代码。如果设置为使用Control-r,请查看msvcrt和kbfunct下提供的键盘功能。与python中的许多事情一样,有多种方法可以完成它。