现在,在我的使用curses的Python程序退出后,我只看到一个空白屏幕。我在运行程序之前所做的任何事情都不再可见。
我如何才能使我的curses程序退出后,先前的内容是可见的,IE,就像less、man和vim在*nix上所做的那样。
额外的细节:我使用的是Windows控制台,所以*nix终端命令不起作用。如果有人想知道我是如何让curses在Windows上工作的,请访问my answer over here。
我的问题与this one完全相同,只是我的问题是针对Python (而不是C)和Windows (而不是*nix)的。
发布于 2015-03-03 18:27:11
PDCurses在启动时尝试保存屏幕内容,为了恢复它,您已经设置了PDC_RESTORE_SCREEN环境变量(当然是针对Windows )。
通过尝试,我的意思是这可能会失败。Windows(使用[ReadConsoleOutput][1]函数)有一个64KB的缓冲区用于此目的,较大的屏幕尺寸(特别是计算回滚)可能太大。如果它不能保存整个缓冲区,它会尝试只保存/恢复您看到的部分(“窗口”)。当然,即使是这个数字也可能太大了。
另一方面,在ncurses的快速检查中,我没有看到这个问题(所以问题出在PDCurses中)。
从更多的阅读(例如,this question)中,我看到您可能在使用UniCurses for Python,如果不是因为它的作者选择以一种排除它包含在任何python、ncurses (或PDCurses)发行版中的方式许可它,这将是更有趣的。
https://stackoverflow.com/questions/28616575
复制相似问题