2390
Comentário:
|
2832
|
Deleções são marcadas assim. | Adições são marcadas assim. |
Linha 88: | Linha 88: |
Abaixo o mesmo script porém melhorado pelo amigo Rodrigo Cacilhas que gentilmente o compartilha conosco: {{{ #!python #**** cores.py **** import sys for frente in xrange(8): for bold in '', ";1": for fundo in xrange(8): seq="4%d;3%d%s" % (fundo, frente, bold) saida = "\033[%sm %s" % (seq, seq.ljust(8)) sys.stdout.write(saida) sys.stdout.write("\033[0m\n") }}} |
Receita de como utilizar cores no terminal
- Algumas vezes queremos utilizar cores no terminal e sempre temos que lembrar os códigos complicados das cores, esta página é visa auxiliar nesta tarefa.
Esta página surgiu de um post do Marco Carvalho na lista python-brasil@yahoogrupos.com.br , ou seja, todos os créditos a ele.
Como faço para alterar a cor de texto no shell (win/linux)?
Usando seqüências de escape ANSI:
O último exemplo pode ser simplificado assim:
Para facilitar, segue a tabela de seqüência de escape ANSI:
1 vermelho = '\033[31m'
2 verde = '\033[32m'
3 azul = '\033[34m'
4
5 ciano = '\033[36m'
6 magenta = '\033[35m'
7 amarelo = '\033[33m'
8 preto = '\033[30m'
9
10 branco = '\033[37m'
11
12 restaura cor original = '\033[0;0m'
13 negrito = '\033[1m'
14 reverso = '\033[2m'
15
16 fundo preto = '\033[40m'
17 fundo vermelho = '\033[41m'
18 fundo verde = '\033[42m'
19 fundo amarelo = '\033[43m'
20 fundo azul = '\033[44m'
21 fundo magenta = '\033[45m'
22 fundo ciano = '\033[46m'
23 fundo branco = '\033[47m'
No windows não funciona. Existe alguma maneira?
- Hummm..... Se bem me lembro (faz séculos que não mexo com esse ambiente), o DOS não suporta ANSI diretamente, precisa do diver ANSI.SYS no config.sys
device=ANSI.SYS
- Aproveitando, só de brincadeira, fiz uma conversão (bem porca por sinal) de um [1] script do Aurélio Marinho Jargas (vulgo Verde) que imprime todas as cores ANSI no terminal.
1 #**** cores.py ****
2
3 import string
4 for letra in ["0","1","2","3","4","5","6","7"]:
5 for bold in ['',';1']:
6 for fundo in ["0","1","2","3","4","5","6","7"]:
7 seq="4" + fundo + ";3" + letra
8 saida = "\033["+ seq + bold + "m" + string.center(seq+bold, 8) + "\033[m"
9 print "%s" % saida,
10 print
Abaixo o mesmo script porém melhorado pelo amigo Rodrigo Cacilhas que gentilmente o compartilha conosco: