Ao trabalhar com Python, você pode querer adicionar um toque de cor à saída do seu terminal. Seja para destacar uma mensagem de aviso ou para diferenciar entre diferentes tipos de saída, colorir texto pode ser um recurso muito útil. Neste post, vamos explorar como imprimir texto colorido no terminal em Python.
Usando Sequências de Escape ANSI
O método mais comum para colorir texto no terminal é usando sequências de escape ANSI. Essas sequências são como comandos que dizem ao terminal para mudar a cor do texto. Aqui está um exemplo simples de como você pode definir esses códigos de cor em Python:
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKCYAN = '\033[96m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
Para usar esses códigos de cor, você pode simplesmente concatená-los com o seu texto:
print(bcolors.WARNING + "Aviso: Não há frommets ativos restantes. Continuar?" + bcolors.ENDC)
Ou, se você estiver usando Python 3.6 ou mais recente, você pode usar literais de string formatados para uma sintaxe mais limpa:
print(f"{bcolors.WARNING}Aviso: Não há frommets ativos restantes. Continuar?{bcolors.ENDC}")
Essas sequências de escape ANSI funcionam em sistemas Unix como OS X e Linux, e no Windows 10 se você habilitar a emulação VT100.
Usando o Módulo curses
Para coloração de texto mais complexa e manipulação do terminal, você pode usar o módulo curses
, que oferece um nível mais alto de controle sobre o terminal. O Python Curses HowTO é um excelente recurso para começar com este módulo.
Usando o Módulo termcolor
Para uma abordagem mais simples, você pode usar o módulo termcolor
, que oferece uma maneira direta de colorir texto:
from termcolor import colored
print(colored('olá', 'red'), colored('mundo', 'green'))
Este método é fácil de usar, mas pode não ser adequado para aplicações mais avançadas como programação de jogos.
Coloração Multiplataforma com Colorama
Se você está procurando uma solução multiplataforma, Colorama
é uma excelente escolha para imprimir textos coloridos no terminal. Funciona tanto em sistemas Windows quanto Unix e é compatível com Python 2.7 e Python 3.5+. Veja como você pode usá-lo:
from colorama import init as colorama_init, Fore, Style
colorama_init()
print(f"Isso é {Fore.GREEN}cor{Style.RESET_ALL}!")
Imprimindo Formatos de Cor Personalizados
Se você quer ser criativo com a formatação de texto, pode imprimir uma string com uma cor e estilo personalizados começando com um código ANSI específico e terminando a mudança de estilo com \x1b[0m
:
print('\x1b[6;30;42m' + 'Sucesso!' + '\x1b[0m')
Você também pode imprimir uma tabela de opções de formato para ver todas as possibilidades:
def print_format_table():
for style in range(8):
for fg in range(30,38):
s1 = ''
for bg in range(40,48):
format = ';'.join([str(style), str(fg), str(bg)])
s1 += '\x1b[%sm %s \x1b[0m' % (format, format)
print(s1)
print('\n')
print_format_table()
Resumo
Neste post, cobrimos vários métodos para imprimir texto colorido no terminal em Python. Seja escolhendo usar diretamente sequências de escape ANSI, aproveitando o módulo curses
para mais controle, optando pela simplicidade do termcolor
, ou indo de multiplataforma com Colorama
, agora você tem as ferramentas para tornar a saída do seu terminal mais colorida e significativa. Lembre-se de sempre testar suas escolhas de cores para garantir que elas sejam legíveis em diferentes fundos e terminais.
Cursos de programação gratuitos com certificado
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
- Conteúdos gratuitos
- Projetos práticos
- Certificados
- +20 mil alunos e comunidade exclusiva
- Materiais didáticos e download de código
Comentários