Voici comment créer le vôtre cls
ouclear
commande qui fonctionnera sans appeler explicitement une fonction!
Nous profiterons du fait que la console python appelle repr()
pour afficher des objets à l'écran. Ceci est particulièrement utile si vous avez votre propre shell python personnalisé (avec l' -i
option par exemple) et que vous avez un script de pré-chargement pour celui-ci. Voici ce dont vous avez besoin:
import os
class ScreenCleaner:
def __repr__(self):
os.system('cls')
return ''
cls = ScreenCleaner()
Utilisez clear
plutôt que cls
si vous êtes sous Linux (à la fois dans la os
commande et dans le nom de la variable)!
Maintenant, si vous écrivez simplement cls
ou clear
dans la console, cela l'effacera! Pas même cls()
ou clear()
- juste la variable brute. C'est parce que python appellera repr(cls)
pour l'imprimer, ce qui déclenchera à son tour notre __repr__
fonction.
Testons-le:
>>> 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
Et l'écran est clair!
Pour clarifier - le code ci-dessus doit soit être importé dans la console comme ceci
from somefile import cls
Ou pré-chargez directement avec quelque chose comme:
python -i my_pre_loaded_classes.py