我刚刚了解到,要清除您在Python中打印的行,请执行以下操作:sys.stdout.write('\ x1b [2K')
为什么这么复杂?那奇怪的代码是什么意思?在打印命令中还有其他选择吗?
打印确实提供了“结束”选项,该选项允许在行中来回移动,但无法清除打印的内容。通过\ r覆盖并非总是有效,特别是如果新行比旧行短。您将从旧行中获得痕迹,因此我需要先清除。谢谢。
\x1b[2K
是所谓的ANSI终端控制序列。它们是1970年代的传承,至今仍在使用(但已大大扩展)来控制终端仿真器。
\x1b
是ESCAPE的ASCII码(实际上是键盘上的ESC键)。[2K
是命令“擦除当前行”。
Python中有许多可用于终端的库,例如Urwid。这些库将向您隐藏终端的内部工作原理,并为您提供用于创建TUI的更高级的构造。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句