curses.wrapper()无法正常工作 [Python]

3

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

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

curses.wrapper(function)

但是,屏幕上没有任何打印输出。控制流只是进入并离开。

1个回答

6
您的代码(或者至少可能是这样)已经很好了;只是它执行得太快,您从来没有机会看到它。
您可以使用addstrrefresh将字符串放在屏幕上。然后,您立即从function返回,从wrapper返回,然后恢复终端到其curses状态之前,因此结果消失了。
如果您想要看到某些东西发生,就需要加入某种延迟。例如:
def function(screen):
    screen.addstr(0, 0, "print something here")
    screen.refresh()
    screen.getkey()

现在它将在左上角显示“print something here”,然后等待您按键,此期间您可以看到该字符串。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接