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


当前回答

一个简单的跨平台解决方案是在Windows上使用cls命令,或者在Unix系统上使用clear命令。与os连用系统,这是一个很好的一行:

import os
os.system('cls' if os.name == 'nt' else 'clear')

其他回答

你可以自己做。这将不依赖于你的终端,或操作系统类型。

def clear(num):
    for i in range(num): print 

clear(80)
print "hello"

你可以使用call()函数来执行终端的命令:

from subprocess import call
call("clear")

一个简单的跨平台解决方案是在Windows上使用cls命令,或者在Unix系统上使用clear命令。与os连用系统,这是一个很好的一行:

import os
os.system('cls' if os.name == 'nt' else 'clear')

这将清除25个新行:

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

clear()

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

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

clear(25)

如果您使用的是Linux/UNIX系统,那么打印ANSI转义序列以清除屏幕就可以了。您还需要将光标移动到屏幕的顶部。这将在任何支持ANSI的终端上工作。

import sys
sys.stderr.write("\x1b[2J\x1b[H")

这将不能在Windows上工作,除非ANSI支持已启用。Windows可能有一个等效的控制序列,但我不知道。