如何清除python控制台(即Ctrl + L命令行等效项)

问题描述 投票:-1回答:1

OS = Linux

[boris@E7440-DELL ~]$ uname -a
Linux E7440-DELL 3.17.4-200.fc20.x86_64 #1 SMP Fri Nov 21 23:26:41 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

从python控制台(Spyder 2.2.4,Python 2.7.5 64位,Qt 4.8.5)来看,它是:

>>> import os
>>> print(os.name)
posix

我正在尝试找出清除python控制台的方法。不仅任何解决方案都适用,而且结果必须与按Ctrl + L完全相同。

从其他线程,我已经尝试了几种选择:

>>> import os
>>> os.system('clear')
256

>>> import subprocess
>>> subprocess.call("clear", shell=True)
1

>>> print '\n'*1000

如您所见,os.system('clear')subprocess.call("clear", shell=True)均未产生期望的结果。它们只是输出一个值(分别为256或1)。到目前为止,print '\n'*1000最接近期望的结果。但是,它有两个问题:

  1. 光标不在屏幕顶部(如Ctrl + L那样,但是它位于屏幕的底部,因此,我的代码打印的所有新行都在向上滚动,这使得它无法读取。
  2. 视觉体验高度依赖于该值,因此为了使其更具可读性,我必须使用print '\n'*100000代替

没有人知道正确的解决方案,该解决方案实际上可以从命令行执行Ctrl + L吗? (是的,我正在使用linux,并且对Windows解决方案没有兴趣)

python console
1个回答
1
投票

您可以尝试:

os.system('tput reset')

要隐藏返回值,请使用:

variable = os.system('tput reset')
© www.soinside.com 2019 - 2024. All rights reserved.