杀死 pythoncurses 程序后终端显示损坏
我用 python 编写了一个小程序,并使用curses 库输出了一些屏幕显示。对于我的简单输出来说,这似乎有效。我从命令行运行 python 程序。
我的问题是,如果我终止 python 程序,终端将无法正确显示。例如: 在运行 pythoncurses 程序之前,“ls -al”正确显示 杀死 pythoncurses 程序后,“ls -al”无法正确显示。
在终止 pythoncurses 程序后,我该怎么做才能使终端正确显示输出?
I wrote a small program in python and outputted some screen display using the curses library. For my simple output this seems to work. I run my python program from the command line.
My problem is that if I kill the python program the terminal doesn't properly display. For example:
'ls -al' displays properly before I run my python curses program
'ls -al' does not display properly after I kill the python curses program.
What can I do to make my terminal display output properly after I kill my python curses program?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
通常,
reset
命令会将您的终端设置重置为默认值。Usually the
reset
command will reset your terminal settings to default values.如果您使用curses.wrapper,它将为您处理所有清理(和设置)。 http://docs.python.org/library/curses.html#curses.wrapper
If you use curses.wrapper, it will handle all the cleanup (and set up) for you. http://docs.python.org/library/curses.html#curses.wrapper
按以下方式初始化诅咒,它将处理清理工作。
Initialize the curses the following way, it will handle a cleanup.
注册一个信号处理程序来取消初始化curses。
Register a signal handler that will uninitialize curses.
我认为你应该使用curses.endwin()。它恢复终端窗口...
事实上,如果你在程序关闭后不调用它,终端将显示所有内容,就像在诅咒窗口中一样......
I think you should use
curses.endwin()
. It restores the terminal window...In fact if you don't call it after program is closed terminal will show everything like it is in the curses window...