Ось як зробити свій власний 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