0
我用Python curses來開發一個界面。由於它在開發中,它崩潰了很多,並在stdout
或stderr
上拋出隨機錯誤。Curses,行尾壞了
輸出格式不正確;應該看起來像一個錯誤:
Error in line 100:
Exception foo
called from bar
的樣子:
Error in line 100:
Exception foo
called from bar
因此很明顯,\n
不理解,因爲它應該(看起來像它期待\r
)。我通過將stderr
重定向到文件或其他終端來解決這個問題,但它可以在代碼中修復嗎?
編輯:
這是我的代碼( 「包裝」 的一部分,圍繞詛咒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()
我正在使用包裝。我不想手動發出'\ r \ n',因爲這些代碼應該與POSIX和Windows兼容 –
@JakubM。你使用pdcurses還是其他?詛咒本身只是POSIX,'\ r \ n'不應該限制平臺。另外,如果你使用的是包裝器,那麼它不會正確地調用'curses.endwin()'。你可以發佈一個最小的例子,打印不正確使用包裝? – kalhartt
我編輯了問題並添加了包裝調用。我沒有添加格式不正確的輸出,因爲它產生了很長的行數,所以沒有正確顯示它們。 –