2

如何通过按任意键而不按 Enter 来结束我的 Python 程序。因此,如果用户键入“c”,程序应该自动结束而不按回车。

到目前为止我的代码:

print("Hi everyone! This is just a quick sample code I made")
print("Press anykey to end the program.")
4

1 回答 1

3

通常,人们会使用input('>> ')(或raw_input('>> ')使用 Python3)来获取用户命令。但是,这确实需要用户在输入数据后提交数据。因此,对于您的示例,用户将键入 c 然后按 Enter 键。

如果您使用的是 Windows,那么我认为您所追求的可能接近这个答案。此示例导入​​一个库msvcrt,您可以使用它来检测键盘敲击(使用msvcrt.kbhit())。因此,用户键入 c 并且您的代码可以响应该击键,而无需等待 Enter 键。当然,在执行所需的代码(即退出应用程序)之前,您必须处理按键(即检查按钮是否确实是 ac)。


编辑:这个答案假设你有一个while()循环做事和/或等待用户输入。如下所示:

import msvcrt

print("Hi everyone! This is just a quick sample code I made")
print("Press anykey to end the program.")

while(True):
    # Do stuff here.
    if msvcrt.kbhit():
        # The user entered a key. Check to see if it was a "c".
        if (msvcrt.getch() == "c"):
            break
        elif (msvcrt.getch() == <some other character>):
            # Do some other thing.

当然要结束任何键盘敲击的程序,只需去掉检查键是否为“c”的部分。

于 2013-10-20T13:12:06.463 回答