Ось як зробити свій власний clsабоclear команду , яка буде працювати без явного виклику будь-якої функції!
Ми скористаємось тим, що консоль python викликає repr()відображення об’єктів на екрані. Це особливо корисно, якщо у вас є власна налаштована оболонка python (з -iопцією, наприклад) і у вас є сценарій попереднього завантаження для неї. Це те, що вам потрібно:
import os
class ScreenCleaner:
def __repr__(self):
os.system('cls')
return ''
cls = ScreenCleaner()
Використовуйте clearзамість, clsякщо ви використовуєте Linux (в обох файлахos команді, так і в назві змінної)!
Тепер, якщо ви просто напишете clsабо clearв консолі - це очистить! Навіть навіть cls()або clear()- лише вихідна змінна. Це тому, що python зателефонує repr(cls)для його роздрукування, що, в свою чергу, спричинить наш__repr__ функцію.
Давайте перевіримо це:
>>> 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
І екран зрозумілий!
Для уточнення - наведений вище код потрібно або імпортувати в консоль, як це
from somefile import cls
Або попередньо завантажте безпосередньо щось на зразок:
python -i my_pre_loaded_classes.py