Ecco come fare il vostro molto proprio cls
oclear
comando comando che funzionerà senza chiamare esplicitamente alcuna funzione!
Approfitteremo del fatto che la console python chiama repr()
per visualizzare gli oggetti sullo schermo. Ciò è particolarmente utile se hai la tua shell python personalizzata (con l' -i
opzione per esempio) e hai uno script di precaricamento per essa. Questo è quello di cui hai bisogno:
import os
class ScreenCleaner:
def __repr__(self):
os.system('cls')
return ''
cls = ScreenCleaner()
Usa clear
invece di cls
se sei su Linux (sia nel os
comando che nel nome della variabile)!
Ora se scrivi cls
o clear
nella console, lo cancellerà! Nemmeno cls()
o clear()
- solo la variabile grezza. Questo perché python chiamerà repr(cls)
per stamparlo, il che a sua volta attiverà il nostro__repr__
funzione.
Proviamolo:
>>> 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 lo schermo è chiaro!
Per chiarire, il codice sopra deve essere importato nella console in questo modo
from somefile import cls
Oppure precarica direttamente con qualcosa come:
python -i my_pre_loaded_classes.py