curses.wrapper() 不工作 [python]

curses.wrapper() isn't working [python]

我正在尝试使用 curses.wrapper() 函数快速解决问题。正如文档所说,它接受 functionobject ,其第一个参数将是屏幕,然后用于在屏幕上进一步工作。这是代码:

def function(screen):
    screen.addstr(0, 0, "print something here")
    screen.refresh()

curses.wrapper(function)

但是,屏幕上没有打印任何内容。控制只是进进出出。

您的代码(或至少可能……)工作正常;它完成得如此之快,以至于您永远都没有机会看到它。

您使用 addstrrefresh 在屏幕上放置了一个字符串。然后你立即从 function 中 return,从 wrapper 中 returns,这会将终端恢复到它之前的 curses 状态,因此结果消失。

如果你想看到一些事情发生,你需要进行某种延迟。例如:

def function(screen):
    screen.addstr(0, 0, "print something here")
    screen.refresh()
    screen.getkey()

现在它会在左上角显示"print something here",然后等你按下一个键,这期间你可以看到那个字符串。