Veja como criar seu próprio comando cls
ou clear
que funcione sem chamar explicitamente nenhuma função!
Tiraremos vantagem do fato de que o console do Python chama repr()
para exibir objetos na tela. Isso é especialmente útil se você tiver seu próprio shell Python personalizado (com a -i
opção, por exemplo) e tiver um script de pré-carregamento para ele. Isto é o que você precisa:
import os
class ScreenCleaner:
def __repr__(self):
os.system('cls')
return ''
cls = ScreenCleaner()
Use em clear
vez de cls
se você estiver no Linux (tanto no os
comando quanto no nome da variável)!
Agora, se você apenas escrever cls
ou clear
no console - ele irá limpar! Nem mesmo cls()
ou clear()
- apenas a variável bruta. Isso ocorre porque o python chamará repr(cls)
para imprimi-lo, o que por sua vez acionará nossa __repr__
função.
Vamos testar:
>>> df;sag
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'df' is not defined
>>> sglknas
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sglknas' is not defined
>>> lksnldn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'lksnldn' is not defined
>>> cls
E a tela está limpa!
Para esclarecer - o código acima precisa ser importado no console como este
from somefile import cls
Ou pré-carregue diretamente com algo como:
python -i my_pre_loaded_classes.py