如何在python中按下最后一个键?

2024-04-25 22:59:12 发布

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

我想先告诉你答案 我的程序是一个每秒运行的while循环。每一秒我都想得到最后一个被按下或被按下的键。所以,如果你在循环休眠时按下一个键,我希望这个键被保存,这样我就可以得到最后一次按下的键,即使它不再被按下。我不想保存的密钥被“删除”后得到它。所以当用户按下“a”键时,我想每秒都能得到,直到他按下另一个键。如果按了特定的键,我想打印文本。我要使用stdout的重定向在文件中写入以下文本:

 ./test.py > file.txt

我用curses解决的python程序如下所示:

^{pr2}$

但这个解决方案的问题是诅咒给了我疯狂的输出。我只按一次“o”键,程序停止后文件.txt看起来像这样:

^[[?1049h^[[1;30r^[(B^[[m^[[4l^[[?7h^[[H^[[2Jtest
^[[30;1H^[[?1049l^M^[[?1l^[>

但应该是这样的:

test

如果有人写个答案我会很高兴的。我知道python不是使用keypress事件的程序的最佳选择。但我有理由为此使用python。在

非常感谢您的回答。在


Tags: 文件答案用户pytest文本程序txt
1条回答
网友
1楼 · 发布于 2024-04-25 22:59:12

您可以安装并使用^{}包。在

import getch
from time import sleep
while True:
    char = getch.getch()
    if char == 111:
        print("test")
        break
    sleep(1)

(您可能需要使用getch.getche而不是getch.getch。你的问题还不完全清楚)

相关问题 更多 >