【发布时间】:2014-12-11 10:42:18
【问题描述】:
操作系统 = 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 64bits、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 是迄今为止最接近预期的结果。但是,它有两个问题:
- 光标不在屏幕顶部(如 Ctrl+L 那样),但它停留在底部,因此我的代码打印的所有新行都向上滚动,无法阅读。李>
- 视觉体验高度依赖于值,因此为了使其更具可读性,我必须改用
print '\n'*100000
有谁知道正确的解决方案,真正可以从命令行执行 Ctrl+L 的解决方案? (是的,我正在使用 linux,我对 windows 解决方案不感兴趣)
【问题讨论】:
-
os.system("clear")为我工作。您使用的是什么操作系统? -
他在最后一行提到了他的操作系统(linux)。最重要的信息应该在第一行
-
你试过
print '\x0c'吗? -
当您说“Python 控制台”时,您是指从命令提示符处运行
python吗?还是您使用的是 Idle 之类的东西?