Veja como criar seu próprio comando clsou clearque 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 -iopçã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 clearvez de clsse você estiver no Linux (tanto no oscomando quanto no nome da variável)!
Agora, se você apenas escrever clsou clearno 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