Hier erfahren Sie, wie Sie Ihre eigenen erstellen clsoderclear Befehl Befehl erstellen, der funktioniert, ohne explizit eine Funktion aufzurufen!
Wir werden die Tatsache ausnutzen, dass die Python-Konsole aufruft repr(), um Objekte auf dem Bildschirm anzuzeigen. Dies ist besonders nützlich, wenn Sie über eine eigene angepasste Python-Shell verfügen ( -iz. B. mit der Option) und ein vorinstalliertes Skript dafür haben. Das brauchen Sie:
import os
class ScreenCleaner:
def __repr__(self):
os.system('cls') # This actually clears the screen
return '' # Because that's what repr() likes
cls = ScreenCleaner()
Verwenden Sie clearanstelle von, clswenn Sie unter Linux sind (sowohl im osBefehl als auch im Variablennamen)!
Wenn Sie jetzt nur schreiben clsoder clearin die Konsole - es wird es löschen! Nicht einmal cls()oder clear()- nur die Rohvariable. Dies liegt daran, dass Python aufruft repr(cls), um es auszudrucken, was wiederum unsere __repr__Funktion auslöst .
Lassen Sie es uns testen:
>>> 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
Und der Bildschirm ist klar!
Zur Verdeutlichung muss der obige Code entweder wie folgt in die Konsole importiert werden
from somefile import cls
Oder direkt vorladen mit etwas wie:
python -i my_pre_loaded_classes.py