2012-03-24 31 views
8

He instalado colorama para python. He importado el módulo de la siguiente manera:Colorama para Python, no devuelve líneas de impresión de color en Windows

import colorama 
from colorama import init 
init() 
from colorama import Fore, Back, Style 

print Fore.RED + "My Text is Red" 

y devuelve los charaters ANSI ....

esc[31mMy Text is Red 

Este ISN `t lo que esperaba. Estoy haciendo algo mal.

Gracias.

+1

¿Con qué sistema operativo está ejecutando esto? –

+0

Estoy ejecutando Windows 7 64 bit .... – Mike

+3

¿Está ejecutando esto en el Símbolo del sistema, o en algún IDE? Debería funcionar en el símbolo del sistema, pero no en IDLE o Eclipse Pydev, por ejemplo. – Junuxx

Respuesta

0

eso es normal, ya que no tiene ANSI en Windows.

somehting Try como tendo.colorer y esto permitirá colorear para todas las plataformas.

Nota: tendo.colorer agrega colorante para los registros, pero estoy seguro de que dará cuenta de ello en la forma de utilizarlo para otras cosas. Si no me equivoco al importarlo antes de su código, solucionará el problema.

+1

Te estás perdiendo el punto. OP explícitamente declara que ya tiene la biblioteca [colorama] (http://pypi.python.org/pypi/colorama). – Junuxx

+0

@Junuxx, tal vez sea así, pero si lo que el OP quiere hacer no funciona, se deben sugerir alternativas. Estaba teniendo este problema con colorama que no funciona en Windows. El módulo tendo.colorer funcionó para mí. Aunque la URL ahora es https://github.com/pycontribs/tendo/blob/master/tendo/colorer.py –

-6

intente lo siguiente:

import colorama 

colorama.init() 
print colorama.Fore.GREEN + " Hey, im green! " 
+7

Esto no es diferente al ejemplo en la pregunta, simplemente usando una sintaxis de importación superficialmente diferente. – Junuxx

+0

Lo mismo que la pregunta. –

5

nunca he tenido éxito conseguir colores que trabajan en Windows cmd.exe sin parchear con Ansicon. Después de parchear, los códigos de color ANSI funcionarán sin necesidad de usar algo como colorama (que tampoco me funcionó).

parchear cmd.exe con Ansicon, haga lo siguiente:

  1. Descargar Ansicon de https://github.com/adoxa/ansicon/downloads y descomprimirlo en un directorio sin espacios
  2. utiliza un símbolo del cmd y vaya a donde descomprimió ella.
  3. CD en el directorio x64 (a menos que tenga una máquina de 32 bits, a continuación, utilizar el x86 uno)
  4. Tipo ansicon.exe –i
  5. abierto un nuevo cmd pronta

a través de: https://stackoverflow.com/a/4749307/191902

Además, si tiene una tarjeta gráfica NVidia, es posible que necesite establecer la variable de entorno "ANSICON_EXC" en "nvd3d9wrap.dll".

+0

ansicon -i lo hace funcionar en todos mis shells cmd.exe. Sin embargo, el shell de línea de comando de Python aún no interpretará las secuencias de escape. \ x1b delante de secuencias ANSI válidas aún se muestra como una flecha apuntando hacia la izquierda. ¿Hay algo más que debo hacer? –

-3

puede usar la importación de una sola importación. tales como:

from colorama import init, Fore, Back, Style 

init() 

y se puede probar ahora:

print(Fore.RED + 'some red text') 
print(Back.GREEN + 'and with a green background') 
print(Style.DIM + 'and in dim text') 
print(Fore.RESET + Back.RESET + Style.RESET_ALL) 
7

Tuve este mismo problema en Windows 7 x64, que finalmente consiguió los colores de trabajo sin tener que instalar nada nuevo simplemente añadiendo el argumento convert=True a la llamada init.

from colorama import init, Fore, Back, Style 

init(convert=True) 

print(Fore.RED + 'some red text') 
Cuestiones relacionadas