我对诅咒很陌生,所以对于一个noob问题抱歉:)我运行while True:
循环,它从API获取数据并使用函数show_header_and_footer()
显示它们。然后它会休眠3秒以避免持续刷新并超出API提供者限制。
if __name__ == "__main__":
setup_curses()
while True:
catch_input()
show_header_and_footer()
stdscr.refresh()
header.refresh()
footer.refresh()
time.sleep(3)
正如您可能已经注意到的那样,还有catch_input()
函数的调用,如下所示:
def catch_input():
c = stdscr.getch()
if c in (ord('q'), ord('Q')):
curses.raw()
curses.endwin()
一切正常,但点击'Q'后我必须等到time.sleep(3)
结束。我该如何改进?
答案 0 :(得分:1)
注意:我认为通过按q'或' Q',您将退出该应用程序。
如果确实如此,为什么不从catch_input()方法向main返回状态。使用此状态可以从while(True)循环返回/中断。这样你就不会遇到3秒计时器。
catch_Input()方法:
def catch_input():
c = stdscr.getch()
if c in (ord('q'), ord('Q')):
curses.raw()
curses.endwin()
return False
return True
主要方法():
if __name__ == "__main__":
setup_curses()
while True:
if not catch_input():
break
show_header_and_footer()
stdscr.refresh()
header.refresh()
footer.refresh()
time.sleep(3)