Очистить вывод командной строки из Python [Eclipse] - программирование

Очистить вывод командной строки из Python [Eclipse]

Я использую Eclipse для написания Python, и я хочу иметь возможность легко очищать экран. Я видел этот вопрос, и попробовал (среди прочего, предложил) следующее решение

import os

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

но это не полностью решает мою проблему. Вместо того, чтобы очищать экран, программа печатает небольшой квадрат (как будто желая напечатать неизвестный символ) в окне вывода команды в Eclipse.

Ввод cls в командной строке работает отлично, как и запуск Python script с указанным выше кодом из командной строки. Но как я могу заставить его хорошо выглядеть в Eclipse?

4b9b3361

Ответ 1

Проблема с запуском в eclipse заключается в том, что cls использует escape-последовательности ANSI для очистки экрана. Я имею в виду, что для очистки экрана cls записывает строку, такую ​​как "\033[[80;j" в выходной буфер. Собственная консоль (одна за пределами eclipse) интерпретирует это как команду для очистки экрана, но консоль eclipse не понимает ее, поэтому просто печатает маленький квадрат, как будто печатает неизвестный символ.

Ответ 2

Очистка выходов на самом деле невозможна. Лучший взлом - это распечатать разрывы строк. IDE, такие как Eclipse, никогда не правильно имитируют терминалы.

Ответ 3

Как просто проблема затмения, я полагаю, что это не повлияет на ваш конечный продукт, если вы хотите очистить экран своих конечных пользователей, в то время как для среды eclipse есть небольшая кнопка в правом верхнем углу экрана консоли, которая позволяет вам очищать его.