Python 诅咒:在windows cmd窗口底部带有最后一种颜色的直线 问题

Python 诅咒:在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(

当我通过windows
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()
有时会使行变小(当运行期间更改终端大小时)