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

时间:2014-12-11 10:42:19

标签: python console clear

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而不是
  3. 有没有人知道正确的解决方案,那个可以从命令行真正做到Ctrl + L的解决方案? (是的,我使用的是Linux,我对Windows解决方案没兴趣)

1 个答案:

答案 0 :(得分:1)

您可以尝试:

os.system('tput reset')

要隐藏返回值,请使用:

variable = os.system('tput reset')