在python中有没有异步getkey()/getchar()的方法?

2024-09-27 09:36:43 发布

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

我真的需要一个asyncio兼容的getkey()这样我就可以了

async def stuff():
    await getkey()

因此,当协同程序stuff命中await时,我们的循环将停止该任务,并继续执行另一个任务。在

我不熟悉编码,但肯定有这样的东西吗?在

如果没有,是否可以构建这样的协同路径? getkey()可以以任何形式返回按键值。 但它应该有cbreaknoecho(不要等待enter,也不要打印按下的键)。在

(澄清,无需继续阅读。)

请帮帮我^^我知道,这样做似乎很不寻常。在它自己的线程中运行的诅咒是正确的方法。但我只能用诅咒来显示。。我对编码也很陌生。。我没有时间去研究这个穿线的事情:/我只需要我的100条线就可以很快流畅地工作,而且只需要一次:!在


Tags: 路径asyncio编码asyncdefawait协同形式
1条回答
网友
1楼 · 发布于 2024-09-27 09:36:43

如果您不想实际等待按键,一种方法是使用线程来检测按键:

from threading import Thread
import curses

key_pressed = False

def detect_key_press():
    global key_pressed
    stdscr = curses.initscr()
    key = stdscr.getch()
    key_pressed = True

def main():
    thread = Thread(target = detect_key_press)
    thread.start()
    while not key_pressed:
        print('Hello world\r')
    curses.endwin()

main()

使用全局变量并不是很好,但这是一种快速的方法。在

相关问题 更多 >

    热门问题