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

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

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

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


当前回答

我在Windows XP, SP3上使用MINGW/BASH。

(在.pythonstartup中插入) #我的ctrl-l已经有点工作了,但这可能会帮助其他人 #在窗口底部留下提示符… 进口readline readline。parse_and_bind(“\价氯:清除屏幕”)

#这在BASH中工作,因为我在.inputrc中也有它,但对于一些 #当我进入Python时它被删除的原因 readline。parse_and_bind(“\ bxcy: kill-whole-line”)


我再也无法忍受输入“exit()”,并对马蒂诺/三联画的技巧感到高兴:

不过我稍微修改了一下(把它放在.pythonstartup中)

class exxxit():
    """Shortcut for exit() function, use 'x' now"""
    quit_now = exit # original object
    def __repr__(self):
        self.quit_now() # call original
x = exxxit()

Py2.7.1>help(x)
Help on instance of exxxit in module __main__:

class exxxit
 |  Shortcut for exit() function, use 'x' now
 |
 |  Methods defined here:
 |
 |  __repr__(self)
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |
 |  quit_now = Use exit() or Ctrl-Z plus Return to exit

其他回答

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

好吧,这里有一个小窍门:

>>> clear = "\n" * 100
>>> print clear
>>> ...do some other stuff...
>>> print clear

或者为了节省一些输入,把这个文件放在你的python搜索路径中:

# wiper.py
class Wipe(object):
    def __repr__(self):
        return '\n'*1000

wipe = Wipe()

然后你可以从解释器做这一切你喜欢的:)

>>> from wiper import wipe
>>> wipe
>>> wipe
>>> wipe

毫无疑问,最快最简单的方法是Ctrl+L。

对于终端上的OS X也是一样的。

Arch Linux(使用Python 3在xfce4-terminal中测试):

# Clear or wipe console (terminal):
# Use: clear() or wipe()

import os

def clear():
    os.system('clear')

def wipe():
    os.system("clear && printf '\e[3J'")

... 添加到~/.pythonrc

Clear()清除屏幕 Wipe()擦除整个终端缓冲区

使用clear()从replit:

from replit import clear
clear()