curses.wrapper() 不工作 [python]
curses.wrapper() isn't working [python]
我正在尝试使用 curses.wrapper() 函数快速解决问题。正如文档所说,它接受 function
或 object
,其第一个参数将是屏幕,然后用于在屏幕上进一步工作。这是代码:
def function(screen):
screen.addstr(0, 0, "print something here")
screen.refresh()
curses.wrapper(function)
但是,屏幕上没有打印任何内容。控制只是进进出出。
您的代码(或至少可能……)工作正常;它完成得如此之快,以至于您永远都没有机会看到它。
您使用 addstr
和 refresh
在屏幕上放置了一个字符串。然后你立即从 function
中 return,从 wrapper
中 returns,这会将终端恢复到它之前的 curses
状态,因此结果消失。
如果你想看到一些事情发生,你需要进行某种延迟。例如:
def function(screen):
screen.addstr(0, 0, "print something here")
screen.refresh()
screen.getkey()
现在它会在左上角显示"print something here",然后等你按下一个键,这期间你可以看到那个字符串。
我正在尝试使用 curses.wrapper() 函数快速解决问题。正如文档所说,它接受 function
或 object
,其第一个参数将是屏幕,然后用于在屏幕上进一步工作。这是代码:
def function(screen):
screen.addstr(0, 0, "print something here")
screen.refresh()
curses.wrapper(function)
但是,屏幕上没有打印任何内容。控制只是进进出出。
您的代码(或至少可能……)工作正常;它完成得如此之快,以至于您永远都没有机会看到它。
您使用 addstr
和 refresh
在屏幕上放置了一个字符串。然后你立即从 function
中 return,从 wrapper
中 returns,这会将终端恢复到它之前的 curses
状态,因此结果消失。
如果你想看到一些事情发生,你需要进行某种延迟。例如:
def function(screen):
screen.addstr(0, 0, "print something here")
screen.refresh()
screen.getkey()
现在它会在左上角显示"print something here",然后等你按下一个键,这期间你可以看到那个字符串。