[Python] efeito de impressora de saída do console

Prefácio: Na verdade, esse efeito não é algo que estudei deliberadamente. A razão é que recentemente usei o ChatGPT e uma IA doméstica e descobri que a IA doméstica não tem o efeito da saída da impressora (esse efeito é um ponto melhor para mim), python encontrado acidentalmente pode fazer isso.

Sem mais delongas, vamos ao código!

impressora de console


import time

def type_out(text):
    for char in text:
        print(char, end='', flush=True)
        time.sleep(0.5) # 打印效果延迟


type_out("Hello, World!")

Este código usa um loop for para percorrer cada caractere para enviar para o console e, ao mesmo tempo, usa flush=Trueparâmetros para forçar o buffer de saída a ser atualizado, de modo a obter o efeito de saída um por um. Para tornar a saída mais realista, a função também time.sleep()adiciona um atraso usando a função.

impressora colorida


import time

def type_out(text):
    colors = {
    
    'red': '\033[91m', 'green': '\033[92m', 'yellow': '\033[93m', 'blue': '\033[94m'}
    end_color = '\033[0m'
    text_iter = iter(text)
    for char in text_iter:
        if char == '[': # 遇到'['时开始设置颜色
            color = ''
            while True:
                char = next(text_iter)
                if char == ']': # 遇到']'时停止设置颜色
                    break
                color += char
            print(colors.get(color.lower(), ''), end='', flush=True)
        elif char == ']':
            print(end_color, end='', flush=True)
        else:
            print(char, end='', flush=True)
            time.sleep(0.2)


type_out("Hello, [red]World![yellow] This is a [blue]test![end]")

A cor de impressão em comparação com a anterior é para definir a cor. Primeiro, os símbolos e valores básicos de cores são definidos. Em seguida, use a função iter para converter o texto de entrada em um objeto iterável text_iter e, em seguida, use a função next para obter o próximo caractere ao percorrer. Ao mesmo tempo, ao enviar o código de cores, use colors.get(color.lower(), '')para obter a sequência de cores correspondente ao código de cores. Se o código de cores não existir, retorne uma sequência vazia para evitar erros causados ​​por códigos de cores desconhecidos.

Acho que você gosta

Origin blog.csdn.net/m0_56170277/article/details/129761459
Recomendado
Clasificación