Python+;祝福:如何避免在频繁清除屏幕时闪烁

Python+;祝福:如何避免在频繁清除屏幕时闪烁,python,terminal,flicker,Python,Terminal,Flicker,我在做什么 版本:Linux+Python 2.7+1.14.1 我在终端上不断更新文本字符串。刷新率约为0.1秒 它们有不同的大小,我在打印回所有当前值之前清除了屏幕 问题 经常调用terminal.clear()时,终端会闪烁 可能的(丑陋的)解决方案 我可以将每一行填充为固定长度,并将其重叠在旧文本上,但这并不优雅。我想有更好的方法来实现这一点 编辑 挂起一个术语。清除下线(清除到行尾)远比用空格填充每行更有效: print(term.bold_white_on_red("text") +

我在做什么

版本:Linux+Python 2.7+1.14.1

我在终端上不断更新文本字符串。刷新率约为0.1秒

它们有不同的大小,我在打印回所有当前值之前清除了屏幕

问题

经常调用
terminal.clear()
时,终端会闪烁

可能的(丑陋的)解决方案

我可以将每一行填充为固定长度,并将其重叠在旧文本上,但这并不优雅。我想有更好的方法来实现这一点

编辑

挂起一个术语。清除下线(清除到行尾)远比用空格填充每行更有效:

print(term.bold_white_on_red("text") + term.clear_eol)
必须删除开始处的非正常打印(term.clear()),以避免闪烁

问题

在curses中,我可以使用
curses.erase()
而不是
curses.clear()
,但是在haved中我找不到任何
erase()
。有没有其他我忽略的(明显的)解决方案


(注:我已经阅读了所有可用的文档。虽然我知道很多咒语,但我想开始使用祝福语,因为这要简单得多。)

你必须自己编写-祝福语/祝福语只是terminfo,有一个更好的调用界面,但没有优化。诅咒做优化。通过优化,您的应用程序可以回忆屏幕上显示的内容以及如何在无需大量工作的情况下进行更新。谢谢@ThomasDickey。奇怪的是,没有人对闪烁感到恼火,至少在我的例子中,它是非常明显的。你必须自己写-祝福/祝福只是terminfo,有一个更好的调用界面,但没有优化。诅咒做优化。通过优化,您的应用程序可以回忆屏幕上显示的内容以及如何在无需大量工作的情况下进行更新。谢谢@ThomasDickey。奇怪的是,没有人对闪烁感到恼火,因为至少在我看来,闪烁是非常明显的。