当curses处于活动状态时,标准输出和标准错误输出去哪里了?
import curses, sys
def test_streams():
print "stdout"
print >>sys.stderr, "stderr"
def curses_mode(stdscr):
test_streams()
test_streams()
curses.wrapper(curses_mode)
实际输出结果为
stdout
stderr
更新0
期望输出为
stdout
stderr
stdout
stderr
在终端中进入和退出 curses 模式,但最终显示的文本不发生变化。
/usr/bin/xterm
(或某些最新终端)下运行的curses程序和在/usr/bin/screen
下运行的curses程序(虚拟终端“screen”没有备用屏幕)。我刚写了一个非常混乱的注释,但我无法做其他事情:) - tzotsmcup
(通常为^[[?1049h
)和rmcup
(通常为^[[?1049l
)。您可以通过向 shell 发出tput smcup
和tput rmcup
命令来手动切换屏幕。 - tzot