Python kbhit()问题

2024-05-15 04:03:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个非常简单的程序,它将等待x秒,然后检查是否按下了一个键,然后,根据这个结果将进入一个不同的循环,进一步深入代码。我有这个密码:

import msvcrt
import time
import sys

time.sleep(1)
if msvcrt.kbhit():
    sys.stdout.write('y')
else:
    sys.stdout.write('n')

所以当它第一次启动时,我按任意键(使kbhit==true),但它总是落在第二个语句上并打印“n”。 有什么建议我做错了什么?

{使用Python 2.7和IDLE}

谢谢


Tags: 代码import程序true密码iftimestdout
1条回答
网友
1楼 · 发布于 2024-05-15 04:03:08

msvcrt.kbhit()函数仅在其所在的程序已从windows命令行运行(或双击其.py文件时打开控制台窗口输入和输出)时才起作用。

如果您从空闲或使用pythonw.exe解释器运行,程序将无法连接到控制台窗口,并且msvcrt中的console-IO commands将无法工作。

相关问题 更多 >

    热门问题