Python 诅咒:在windows cmd窗口底部带有最后一种颜色的直线 问题
当我通过windowsPython 诅咒:在windows cmd窗口底部带有最后一种颜色的直线 问题,python,cmd,curses,python-curses,Python,Cmd,Curses,Python Curses,当我通过windowscmd.exe运行一个输出彩色文本的curses程序时,我在窗口底部得到一个不可选择的行。 我怎样才能删除它 实例 导入诅咒 def干管(stdscr): 诅咒。初始对(1200100) stdscr.addstr(“测试”,诅咒。颜色(1)) stdscr.refresh() stdscr.getch() curses.wrapper(主) 原因 问题是curses认为终端更小,并调整了窗口大小,导致底部出现这一行 如果我这样做 curses.resize_term(
cmd.exe运行一个输出彩色文本的curses程序时,我在窗口底部得到一个不可选择的行。
我怎样才能删除它
实例
导入诅咒
def干管(stdscr):
诅咒。初始对(1200100)
stdscr.addstr(“测试”,诅咒。颜色(1))
stdscr.refresh()
stdscr.getch()
curses.wrapper(主)
原因
问题是curses认为终端更小,并调整了窗口大小,导致底部出现这一行
如果我这样做
curses.resize_term(10,10)
第二条线出现在侧面,并且变得更大;我想这就是cmd处理较小术语的方式
解决方案
为了修复这个错误,我应该使用另一个终端,或者对用户说,如果他在Windows上,他不应该使用cmd,而应该使用类似于PowerShell
或Windows终端
,我会从stdscr.clear()
开始(如果需要清除屏幕)
但是您应该在addstr()和getch()之间添加一个stdscr.refresh()
正如T3ERR0R所说,不要忘记脚本结束之前的curses.endwin()
。没有足够的信息。在cmd.exe
中运行,可能是PDCurses。前景色/背景色的合法范围可能是16。请在文本输出后尝试使用curses.endwin()
。您可能还需要检查所使用的颜色对是否有效,例如,stdscr.refresh()
有时会使行变小(当运行期间更改终端大小时)