繁体   English   中英

如何清除终端(Mac osx)回滚?

[英]How to clear terminal (Mac osx) scrollback?

我正在寻找一种简单的方法来清除Python脚本中的终端回滚。 我知道os.system('clear') ,但是这只会打印新行,从视图中隐藏回滚历史记录, 而不会删除它。 有没有办法做到这一点? 谢谢!

在Python 2中使用以下代码:

>>> print '\033c',

以及Python 3中的以下内容:

>>> print('\033c', end=None)

这些语句输出Esc c ,这是“重置设备”VT100转义序列

如前所述,可以在终端上使用硬件复位,即\\033c 这行得通,但即使对于终端仿真器,也会产生一些不良效果,例如重置颜色。

如果您使用的是xterm ,则具有一个特定的控制序列\\033[3J来执行此操作(请参阅XTerm控制序列 ,即"Ps = 3 -> Erase Saved Lines (xterm)." ))。 如下所述,OSX Terminal显然没有实现该功能。

对于特定于OSX的行为,此问题之前曾被问过,例如,

(我已经测试了最后一个,对我有用)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM