Colorama fornece uma API multi-plataforma simples para imprimir terminal texto colorido a partir de aplicações Python.
Sequências de caracteres de escape ANSI são comumente usados para produzir terminal texto colorido em Macs e Unix. Colorama fornece alguns atalhos para gerar essas seqüências, e os faz funcionar no Windows também.
Isso tem o efeito colateral feliz que os aplicativos existentes ou bibliotecas que já usam seqüências ANSI para produzir uma saída de cor no Linux ou Macs (ex. O uso de pacotes como "termcolor ') agora pode também funcionar no Windows, simplesmente importar e inicializar Colorama.
Status
Em desenvolvimento. Alguns recursos, como indicado em seguida, ainda não estão implementadas.
Uso
Inicialização
As candidaturas devem inicializar Colorama usando:
Colorama de importação de init
nisso ()
Se você estiver no Windows, a chamada para '' init () '' vai começar a filtrar sequências de escape ANSI para fora de qualquer texto enviado para stdout ou stderr, e irá substituí-los com Win32 equivalente chama.
Chamando '' init () '' não tem efeito sobre outras plataformas (a menos que você use 'autoreset', veja abaixo) A intenção é que todos os aplicativos devem chamar init () incondicionalmente, então a sua saída de texto colorido simplesmente funciona em todas as plataformas.
Saída Colorido
Impressão de plataforma cruzada de texto colorido pode, então, ser feito:
de Colorama Fore importação, Costas, Estilo
impressão Fore.RED + 'algum texto vermelho'
Back.GREEN impressão + e com um fundo verde '
impressão Style.DIM + 'e em texto dim'
impressão + Fore.DEFAULT + Back.DEFAULT + Style.DEFAULT
print 'de volta ao normal agora'
ou simplesmente imprimindo manualmente seqüências ANSI de seu próprio código:
print '/ 033 [31m' + 'algum texto vermelho'
print '/ 033 [30m' # e restauradas para o padrão de cor
ou Colorama pode ser usado alegremente em conjunto com bibliotecas ANSI existentes, como Termcolor (http://pypi.python.org/pypi/termcolor):
# Usar Colorama para fazer Termcolor trabalho no Windows também
Colorama de importação de init
nisso ()
# Então usar Termcolor para todas as saídas texto colorido
termcolor de importação colorido
imprimir colorido ("Olá, mundo!", "verde", "on_red ')
As constantes de formatação disponíveis são:
Fore: preto, vermelho, verde, amarelo, azul, magenta, ciano, branco, DEFAULT.
Back: preto, vermelho, verde, amarelo, azul, magenta, ciano, branco, DEFAULT.
Estilo: DIM, NORMAL, brilhante, RESET_ALL
Style.RESET_ALL redefine primeiro plano, fundo e brilho. Colorama irá executar esta redefinição automaticamente ao sair do programa (Não implementado).
Autoreset
Não implementado
Se você está enviando repetidamente seqüências de reposição para desligar mudanças de cor no final de cada impressão, então init (autoreset = True) automatizará que:
Colorama de importação de init
init (autoreset = True)
impressão Fore.RED + 'algum texto vermelho'
print 'automaticamente a cor padrão de novo'
Sem envolver stdout
Colorama funciona por envolvimento stdout e stderr com objetos proxy, que write override () para fazer o seu trabalho. Usando init (autoreset = True) vai fazer isso de envolvimento em todas as plataformas, não apenas do Windows.
Se esses objetos proxy envolvendo stdout e stderr lhe causar problemas, então este pode ser desativado usando init (envoltório = False) (Não implementado), e você pode acessar em vez de proxy AnsiToWin32 da Colorama diretamente. Qualquer acesso a atributos neste objeto será encaminhado para o fluxo que envolve, além de .WRITE (), que no Windows é substituído para realizar a primeira ANSI para Win32 conversão em texto:
Colorama de importação init, AnsiToWin32
init (envoltório = False)
stream = AnsiToWin32 (sys.stderr)
impressão >> fluxo, texto azul em stderr 'Fore.BLUE +
Desenvolvimento
Testes exigem módulo Mock de Michael Foord. Tenho vindo a utilizar nosetests para executar os testes, embora possam trabalhar sem ele, usando:
colorama.tests python -m
O que é novo nesta versão:.
- Adicionado alguma documentação para posicionamento do cursor e tela clara para Leia-me. Adicionar 'reinit' e funções 'deinit', como sugerido por Charles FOL e Romanov DA.
O que é novo na versão 0.1.18:
- Fix README (tal como attr Fore.DEFAULT , etc), gentilmente relatado por nodakai.
O que é novo na versão 0.1.17:
- evitar a impressão de códigos de ANSI de lixo em cima de instalar com pip
O que é novo na versão 0.1.16:
- Re-upload para corrigir erro anterior. Make clean agora remove MANIFESTO de idade.
O que é novo na versão 0.1.15:
- Fix python3 incompatibilidade gentilmente relatado por Gunter Koloušek
O que é novo na versão 0.1.14:
- Corrija redefinição codificado para branco-on- cores pretas. Fore.RESET, Back.RESET e Style.RESET_ALL agora reverter para as cores como eram quando init () foi chamado. Algumas lições espero que aprendi sobre o teste antes do lançamento.
O que é novo na versão 0.1.13:
- A versão anterior foi completamente quebrado (não continha nenhuma fonte) . Duplo oops.
O que é novo na versão 0.1.10:
- Parar emulando texto 'brilhante' com fundos brilhantes. Ver o texto "normal" utilização de novos conhecimentos normais win32 em vez de brilhante. Solte o suporte para texto 'dim'.
O que é novo na versão 0.1.9:
- Corrija incompatibilidade com o Python 2.5 e versões anteriores Remover configuração. dependência py em setuptools, agora usa distutils stdlib
Requisitos :
- Python
Comentários não encontrado