Oto jak stworzyć własne polecenie cls
lub clear
polecenie, które będzie działać bez jawnego wywoływania żadnej funkcji!
Wykorzystamy fakt, że konsola Pythona wywołuje repr()
wyświetlanie obiektów na ekranie. Jest to szczególnie przydatne, jeśli masz własną dostosowaną powłokę Pythona ( -i
na przykład z opcją) i masz do niej wstępnie ładowany skrypt. Oto, czego potrzebujesz:
import os
class ScreenCleaner:
def __repr__(self):
os.system('cls')
return ''
cls = ScreenCleaner()
Użyj clear
zamiast, cls
jeśli jesteś w systemie Linux (zarówno w os
poleceniu, jak i nazwie zmiennej)!
Teraz, jeśli po prostu napiszesz cls
lub clear
w konsoli - wyczyści to! Nawet cls()
ani clear()
- tylko surowa zmienna. Dzieje się tak, ponieważ Python wywoła, repr(cls)
aby go wydrukować, co z kolei uruchomi naszą __repr__
funkcję.
Przetestujmy to:
>>> 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
A ekran jest czysty!
Aby wyjaśnić - powyższy kod musi zostać zaimportowany do konsoli w ten sposób
from somefile import cls
Lub załaduj wstępnie bezpośrednio za pomocą czegoś takiego:
python -i my_pre_loaded_classes.py