有没有办法以编程方式在Python 3中跨平台清除终端?

时间:2017-09-02 14:18:18

标签: python-3.x

长期潜伏,第一次问问。

有没有办法在Python 3中自动清除终端,无论应用程序使用的是什么平台?

我发现以下(来自this answer)使用ANSI转义码:

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

但是要使它跨平台工作,它需要colorama模块,它似乎只适用于python 2.7。

对于上下文我通过构建战舰游戏来学习Python,但在每次猜测之后我都希望能够清除屏幕并重新打印电路板。

感谢任何帮助!

干杯

2 个答案:

答案 0 :(得分:0)

我知道这个方法

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

我不确定它是否适用于其他平台,但它在windows python 3.x中工作

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

这可能适用于Linux和OS X,但我无法测试。

答案 1 :(得分:0)

我在所有平台上都使用一个代码段:

import subprocess
clear = lambda: subprocess.call('cls' if os.name=='nt' else 'clear')
clear()

相同的想法,但带有一勺语法糖:

import subprocess   
clear = lambda: subprocess.call('cls||clear', shell=True)
clear()