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

6 投票
3 回答
11775 浏览
提问于 2025-04-15 20:33

我在用Eclipse写Python代码,想要简单地清屏。我看到过这个问题,并尝试了那里的几种解决办法,包括下面这个

import os

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

但这并没有完全解决我的问题。它不是清屏,而是在Eclipse的命令输出窗口里打印了一个小方块(就像是想打印一个未知字符一样)。

在命令行输入cls是完全没问题的,直接运行上面的Python代码也可以正常清屏。但是我想知道,怎么才能在Eclipse里也做到好看一点呢?

3 个回答

0

这只是一个关于Eclipse的问题,所以我想如果你想清理最终用户的屏幕,这不会影响你的最终产品。

在Eclipse环境中,控制台屏幕的右上角有一个小按钮,可以让你清理屏幕。

0

在输出中清除内容其实是做不到的。最简单的办法就是打印很多换行符。像Eclipse这样的开发环境从来没有正确模拟终端的行为。

2

在Eclipse中运行这个程序的问题是,cls命令使用了ANSI转义序列来清屏。简单来说,清屏的时候,cls会向输出缓冲区写入一个像"\033[[80;j"这样的字符串。外面的控制台(也就是Eclipse之外的那个)会把这个当作清屏的指令来执行,但Eclipse的控制台却不理解这个指令,所以它只会显示一个小方块,就像在打印一个未知字符一样。

撰写回答