我在Python中使用curses库时出现问题。请考虑以下代码:
def main(stdscr):
print('Hello World!!')
create_screen()
curses.endwin()
if __name__ == "__main__":
curses.wrapper(main)
问题是" print"甚至在调用" create_screen()"之前,函数就搞乱了。通过" curses.initscr()"启动屏幕的功能;
答案 0 :(得分:1)
您可以在程序使用print
之前和之后正常使用input
和curses
。此外,您不必将所有代码都放入main
,也不必将main
函数传递给curses
。 main
只是一个与其他功能一样的功能。看看这个简单的例子:
import curses, time
def incurses(stdscr):
stdscr.addstr(0, 0, "Exiting in ")
stdscr.addstr(2, 0, "Hello World from Curses!")
for i in range(5, -1, -1):
stdscr.addstr(0, 11, str(i))
stdscr.refresh()
time.sleep(1)
curses.endwin()
def main():
print('Hello World!!')
choice = input("Start Curses Program? ")
if choice == "yes":
curses.wrapper(incurses)
print("After curses")
if __name__ == "__main__":
main()
打印并询问用户输入,然后显示curses屏幕,然后返回“正常”打印模式。