Очистить вывод командной строки из Python [Eclipse] - PullRequest
4 голосов
/ 18 марта 2010

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

import os

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

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

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

Ответы [ 3 ]

2 голосов
/ 28 марта 2010

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

0 голосов
/ 02 ноября 2014

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

0 голосов
/ 01 апреля 2010

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

...