是否存在任何标准的“附带电池”方法来清除Python脚本中的终端屏幕,或者我必须去诅咒(库,而不是单词)?


当前回答

清除屏幕的方法可能有些俗气,但在我所知的任何平台上都适用,如下:

for i in xrange(0,100):
    print ""

其他回答

清除屏幕的方法可能有些俗气,但在我所知的任何平台上都适用,如下:

for i in xrange(0,100):
    print ""

我将这样做,使它看起来更像bash:

只需在主目录下创建一个名为.pythonstartup的文件,并在函数中使用poke的答案

在Linux上:

echo "from subprocess import call
def clear(int=None):  
    call('clear')
    if int == 0:
       exit()
clear()" >> $HOME/.pythonstartup ; export PYTHONSTARTUP=$HOME/.pythonstartup ; python

您可以添加export PYTHONSTARTUP=$HOME/。Pythonstartup到你的。/bashrc文件

因为我关心的是空间;调用该函数将不会在启动时显示python解释器描述,但您可以删除clear()以保留它。

像使用普通函数一样使用它应该不会打印退出状态:

>>> clear()

如果您将参数0传递给函数,它将清除屏幕并成功退出,因此您可以在干净的屏幕中继续使用shell

>>> clear(0)

如果您所需要的只是清除屏幕,那么这可能就足够了。问题是在linux版本之间甚至没有一个100%跨平台的方法来做到这一点。问题是终端的实现都支持略微不同的东西。我很确定“clear”在任何地方都适用。但是更“完整”的答案是使用xterm控制字符来移动光标,但这需要xterm本身。

在不了解更多问题的情况下,你的解决方案似乎已经足够好了。

这将清除25个新行:

def clear():
    print(' \n' * 25)

clear()

我在pydev中使用eclipse。我更喜欢换行解决方案比范围内的for num。for循环抛出警告,而打印换行符则不会。 如果您想在clear语句中指定换行数,请尝试此变体。

def clear(j):
    print(' \n' * j)

clear(25)

对我来说,最优雅的说法是:

import os
os.system('cls||clear')