从Python清除命令行输出[Eclipse]


问题内容

我正在使用Eclipse编写Python,并且希望能够轻松清除屏幕。我已经看到了这个问题,并尝试了以下解决方案(除其他建议外)

import os

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

但这并不能完全解决我的问题。该例程没有清除屏幕,而是在Eclipse的命令输出窗口中打印了一个小方块(好像要打印未知字符)。

cls在命令行中键入内容非常好,就像在命令行中使用上述代码运行Python脚本一样。但是,如何使它在Eclipse中看起来也不错?


问题答案:

在eclipse中运行它的问题是cls使用ANSI转义序列来清除屏幕。我的意思是清除屏幕,cls将一个字符串写入"\033[[80;j"输出缓冲区。本机控制台(eclipse之外的一个控制台)将此解释为清除屏幕的命令,但是eclipse控制台不理解它,因此仅打印一个小方块就好像打印未知字符一样。