Как очистить консоль в питон?

Я хочу сделать анимацию загрузки меню, он добавляет до трёх точек после "Loading" и потом должен начать заново, но потом он пишет сверху него (кажется), в интернете не нашёл ответа. Вот мой код:

import time
while True:
     print('Loading', end = "\r")
     time.sleep(0.5)
     print('Loading.', end = "\r")
     time.sleep(0.5)
     print('Loading..', end = "\r")
     time.sleep(0.5)
     print('Loading...', end = "'\r")
     time.sleep(0.5)

Ответы (3 шт):

Автор решения: Ben Puls

Очистить консоль можно при помощи встроенной библиотеки os.

Для Windows используется команда cls, а для unix/linux и macOS - clear

import os

def clear_my_console():
    os.system('cls' if os.name == 'nt' else 'clear')
→ Ссылка
Автор решения: Stanislav Volodarskiy

Главная идея – затирать строку пробелами, если вы собираетесь печатать меньше символов чем было. Ещё я перегруппировал печать так, чтобы курсор был виден в конце строки. Остальные изменения – косметика:

import time

while True:
     print('\r          ', end='')
     print('\rLoading'   , end='', flush=True)
     time.sleep(0.5)
     print('\rLoading.'  , end='', flush=True)
     time.sleep(0.5)
     print('\rLoading..' , end='', flush=True)
     time.sleep(0.5)
     print('\rLoading...', end='', flush=True)
     time.sleep(0.5)

Ещё можно уменьшить обновление экрана:

import time

print('Loading', end='', flush=True)
while True:
     time.sleep(0.5)
     print('.', end='', flush=True)
     time.sleep(0.5)
     print('.', end='', flush=True)
     time.sleep(0.5)
     print('.', end='', flush=True)
     time.sleep(0.5)
     print('\b \b\b \b\b \b', end='', flush=True)
→ Ссылка
Автор решения: Amgarak

Можно добавить ещё один цикл, приправить f-строками, тем самым сократив код. К тому же курсор не будет прыгать, но останется видимым - как бы создавая границы загрузки.

import time

while True:
    for i in range(4):  
        print(f"\rLoading{'.'*i}{' '*(3-i)}", end='')  
        time.sleep(0.5)

введите сюда описание изображения

→ Ссылка