2011-04-26 136 views
3

我在python中編寫了一個小程序,並使用curses庫輸出了一些屏幕顯示。對於我的簡單輸出這似乎工作。我從命令行運行我的python程序。Python詛咒問題

我的問題是,如果我殺了python程序的終端不能正常顯示。例如: 'ls -al'在我運行我的python curses程序之前正常顯示 'ls -al'在我終止python curses程序後無法正常顯示。

我殺了我的python curses程序後,怎樣才能讓我的終端顯示輸出正確?

回答

5

通常,reset命令會將您的終端設置重置爲默認值。

3

以下面的方式初始化curses,它會處理清理。

class curses_screen: 
    def __enter__(self): 
     self.stdscr = curses.initscr() 
     curses.cbreak() 
     curses.noecho() 
     self.stdscr.keypad(1) 
     SCREEN_HEIGHT, SCREEN_WIDTH = self.stdscr.getmaxyx() 
     return self.stdscr 
    def __exit__(self,a,b,c): 
     curses.nocbreak() 
     self.stdscr.keypad(0) 
     curses.echo() 
     curses.endwin() 

with curses_screen() as stdscr: 
""" 
Execution code plush getch code here 
""" 
0

我認爲你應該使用curses.endwin()。它恢復終端窗口...
事實上,如果你不關閉程序後調用它,終端將顯示一切,就像它在詛咒窗口中一樣...