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



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解决方案不感兴趣(

你可以试试:

os.system('tput reset')

若要隐藏返回值,请使用:

variable = os.system('tput reset')

最新更新