像大多数Python开发人员一样,我通常打开一个控制台窗口,运行Python解释器来测试命令、dir()之类的东西、help()之类的东西,等等。

像任何控制台一样,在一段时间后,过去命令和打印的可见积压会变得混乱,并且在多次重新运行相同的命令时有时会令人困惑。我想知道是否以及如何清除Python解释器控制台。

我听说过做一个系统调用,或者在Windows上调用cls,或者在Linux上清除,但我希望有一些我可以命令解释器本身做的事情。

注意:我在Windows上运行,所以Ctrl+L不起作用。


当前回答

如果你在.inputrc中使用vim键绑定:

set editing-mode vi

它是:

ESC Ctrl-L

其他回答

正如你提到的,你可以做一个系统调用:

Windows:

>>> import os
>>> clear = lambda: os.system('cls')
>>> clear()

对于Linux,它将是:

>>> import os
>>> clear = lambda: os.system('clear')
>>> clear()

好吧,这是一个不太技术性的答案,但我使用的是notepad++的Python插件,结果是你可以手动清除控制台,只需右键单击它,然后单击“清除”。希望这能帮助到一些人!

这应该是跨平台的,并且也使用首选的子流程。调用而不是os。系统按操作系统。系统文档。应该在Python >= 2.4中工作。

import subprocess
import os

if os.name == 'nt':
    def clearscreen():
        subprocess.call("cls", shell=True)
        return
else:
    def clearscreen():
        subprocess.call("clear", shell=True)
        return

我的方法是这样写一个函数:

import os
import subprocess

def clear():
    if os.name in ('nt','dos'):
        subprocess.call("cls")
    elif os.name in ('linux','osx','posix'):
        subprocess.call("clear")
    else:
        print("\n") * 120

然后调用clear()清除屏幕。 这适用于windows, osx, linux, bsd…所有的操作系统。

我使用Spyder (Python 2.7)和清理我使用的解释器控制台

%明显

这迫使命令行跳转到顶部,我将看不到以前的旧命令。

或者我在控制台环境中单击“选项”并选择“重新启动内核”,这将删除所有内容。