Pergunta

Estou usando o Eclipse para escrever Python e quero poder limpar facilmente a tela. eu tenho visto essa questão, e tentou (entre outras coisas sugeridas lá) a seguinte solução

import os

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

Mas isso não resolve completamente meu problema. Em vez de limpar a tela, a rotina imprime um pequeno quadrado (como se quisesse imprimir um caractere desconhecido) para a janela de saída de comando no Eclipse.

Digitando cls Na linha de comando funciona perfeitamente bem, assim como a execução de um script python com o código acima na linha de comando. Mas como posso fazer com que pareça bonito no eclipse também?

Foi útil?

Solução

O problema de executá -lo no eclipse é que cls usa sequências de escape do ANSI para limpar a tela. O que quero dizer com isso é que limpar a tela, cls escreve uma string como "\033[[80;j" para o buffer de saída. O console nativo (aquele fora do eclipse) interpreta isso como um comando para limpar a tela, mas o console do eclipse não o entende, então apenas imprime um pequeno quadrado como se imprimisse um caractere desconhecido.

Outras dicas

A limpeza nas saídas não é realmente possível. O melhor hack é imprimir cheios de linhas. Ides como o Eclipse nunca simulam os terminais corretamente.

Como é apenas um problema eclipse, suponho que isso não afetará seu produto final se você quiser limpar a tela dos usuários finais enquanto, para o ambiente Eclipse, há um pequeno botão na tela do console, o que permite limpá-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top