我在python中编写了一个curses应用程序。
def main(stdscr):
stuff(stdscr)
def printStuff(stdscr, string):
stdscr.clear()
stdscr.addstr(0, 0, string)
stdscr.refresh()
def stuff(stdscr):
printStuff(stdscr, 'foo')
time.sleep(3)
printStuff(stdscr, 'bar')
stdscr.getch()
wrapper(main)
当我运行代码时,大部分都是好的。 如果我在睡眠中按下三秒间隙中的按钮,即使在调用getch之前按下按钮,getch也会很乐意将其作为输入。为什么会这样,我该如何解决这个问题?
答案 0 :(得分:2)
输入被缓冲,getch()
处理输入缓冲区中的任何内容。您可以使用curses.flushinp
def stuff(stdscr):
printStuff(stdscr, 'foo')
time.sleep(3)
printStuff(stdscr, 'bar')
stdscr.flushinp()
stdscr.getch()