как сделать плавное появление, и исчезновение текста в консоли в python?

Рейтинг: 0Ответов: 3Опубликовано: 20.02.2023

Мне нужно сделать плавное появление, и исчезновение текста в консоли. Либо сделать так, что бы текст плавно изменял цвет, допустим с черного на белый, и с белого на черный. Это реально?

Ответы

▲ 2

Добавлять конечно можно! Для этого мы в print() добавляем именованный аргумент end="", чтобы не было переноса строк и flush=true, чтобы вывод был сразу. По умолчанию стоит flush=false, и вывод текста в консоль происходит только тогда, когда строка полностью собирается. Т.е flush действует как буфер.

import time


stroke_to_typewrite = "Hello, this is a typewriter effect example"
# Появление
for letter in stroke_to_typewrite:
    print(letter, end='', flush=True)
    time.sleep(0.1)

# Исчезновение
for i in range(len(stroke_to_typewrite) + 1, -1, -1):
    print('\r' + stroke_to_typewrite[:i], end=' ', flush=False)
    time.sleep(0.1)

print('This is what will be displayed after')

Спасибо CrazyElf за дополнение! Удалять текст постепенно всё таки можно =)

▲ 0

Плавное появление текста цветом

from time import sleep as s

word = "Hello World!"
while True:
    for i in range(232, 255):
        print(f"\r\u001b[38;5;{i}m {word}", end="", flush=False)
        s(0.1)

    for i in range(254, 232, -1):
        print(f"\r\u001b[38;5;{i}m {word}", end="", flush=False)
        s(0.1)
▲ -1

реально.

import time

txt = 'я текст'
for i in txt:
    time.sleep(0.3)
    print(i, end='', flush=True)