Como Imprimir Texto Colorido no Terminal com Python

Ao trabalhar com Python, você pode se deparar com uma situação em que precisa printar vários itens consecutivamente sem adicionar automaticamente uma nova linha ou espaço entre eles. Isso é um requisito comum para formatar a saída de uma maneira específica. Neste post, vamos explorar como alcançar isso usando a função print
do Python.
No Python 3, a função print
vem com um recurso muito útil que permite controlar o que é impresso no final da instrução. Por padrão, print
adiciona um caractere de nova linha (\n
) após cada chamada, mas você pode mudar esse comportamento com o parâmetro end
.
Veja como você pode imprimir pontos consecutivamente sem uma nova linha:
print('.', end='')
print('.', end='')
print('.', end='')
print('.', end='')
Esse código produzirá ....
sem nenhuma nova linha entre eles.
Às vezes, você pode querer printar vários argumentos sem espaços entre eles. A função print
tem outro parâmetro chamado sep
, que define o separador entre os argumentos. Por padrão, sep
é um caractere de espaço, mas você pode definí-lo como uma string vazia para remover os espaços:
print('a', 'b', 'c', sep='')
TestarIsso resultará na saída abc
sem espaços.
Em alguns casos, especialmente quando você está lidando com dados em tempo real ou um fluxo lento, você pode precisar garantir que a saída seja esvaziada imediatamente. Você pode fazer isso definindo o parâmetro flush
como True
:
print('.', end='', flush=True)
Se você está trabalhando com Python 2.6 ou 2.7, ainda pode imprimir sem uma nova linha ou espaço. Você pode importar a função print
do Python 3:
from __future__ import print_function
Após essa importação, você pode usar os mesmos parâmetros end
e sep
como no Python 3. No entanto, a palavra-chave flush
não está disponível no Python 2.
Alternativamente, você pode usar sys.stdout.write()
:
import sys
sys.stdout.write('.')
E para esvaziar a saída:
sys.stdout.flush()
Nas versões anteriores do Python, você pode simplesmente adicionar uma vírgula no final da instrução de impressão para evitar a nova linha:
for i in range(10):
print i,
else:
print
Isso imprimirá números de 0 a 9 na mesma linha, separados por espaços.
Para aqueles que procuram substituição ao estilo printf, o Python oferece uma maneira de formatar strings usando o operador %
:
strings = ["one", "two", "three"]
for i in range(3):
print "Item %d: %s" % (i, strings[i])
E se você quiser imprimir um caractere várias vezes, você pode multiplicar uma string:
print "." * 10
TestarIsso irá printar dez pontos consecutivamente.
Neste post, cobrimos como printar itens em Python sem adicionar automaticamente uma nova linha ou espaço. Usando os parâmetros end
e sep
na função print
, você pode controlar o formato da saída. Lembre-se de usar flush=True
se precisar esvaziar o buffer de saída imediatamente. Para usuários do Python 2, importar a função print
do Python 3 ou usar sys.stdout.write()
são opções viáveis. Com essas técnicas, você pode formatar sua saída exatamente da maneira que precisa.
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xp