我使用Python curses来开发一个接口。由于它正在开发中,它经常崩溃并在stdout
或上抛出随机错误stderr
。
输出格式不正确;应该如下所示的错误:
Error in line 100:
Exception foo
called from bar
好像:
Error in line 100:
Exception foo
called from bar
所以显然\n
没有被解释为它应该的(看起来像它期望的那样\r
)。我通过重定向stderr
到文件或其他终端来处理这个问题,但它可以在代码中修复吗?
编辑:
这是我的代码片段(curses UI 的“包装器”的一部分)
class CursesUI(object):
#...
def _setup(self):
stdscr = curses.initscr()
stdscr.keypad(1)
curses.noecho()
curses.cbreak()
curses.curs_set(0)
return stdscr
def _restore(self):
# called on close()
self._stdscr.keypad(0)
curses.echo()
curses.nocbreak()
curses.curs_set(1)
curses.endwin()