我正在寻找一种从Python脚本中清除终端回滚的简单方法。我知道os.system('clear')
,但是这只会打印新行,隐藏回滚历史记录,不删除它。有没有办法做到这一点?谢谢!
答案 0 :(得分:4)
在Python 2中使用以下内容:
>>> print '\033c',
以及Python 3中的以下内容:
>>> print('\033c', end=None)
这些语句输出 Esc c ,即VT100 escape sequence for "Reset Device"。
答案 1 :(得分:0)
如上所述,可以在终端上使用硬件重置,即div class="up"
。这样可行,但即使是终端模拟器也可能会产生一些不需要的效果,例如重置颜色。
如果您使用的是\033c
,则具有执行此操作的特定控制序列xterm
(请参阅 XTerm Control Sequences ,即\033[3J
) 。如下所述,OSX终端显然没有实现这一点。
对于OSX特定的行为,之前曾问过这个问题,例如,
"Ps = 3 -> Erase Saved Lines (xterm)."
实用程序。有趣的是,建议的替代方案之一是osascript
,但在我的Mac上没有任何作用。\033[3J
的问题,它可能会清除错误的窗口,并提供以下不同的答案:How do I reset the scrollback in the terminal via a shell command?,例如,
osascript
(我测试了最后一个,它适用于我)。