2012-09-19 27 views
7

Si funciono esto en Python en Linux funciona: Python: ¿Cómo puedo hacer que los códigos de escape ANSI funcionen también en Windows?

start = "\033[1;31m" 
end = "\033[0;0m" 
print "File is: " + start + "<placeholder>" + end 

Pero si lo ejecuto en Windows no funciona, ¿cómo puedo hacer que los códigos de escape ANSI trabajan también en Windows?

+2

ver http://stackoverflow.com/questions/8358533/python-module-to-enable-ansi-for-stdout-on-windows si podría ser útil – pr0gg3d

+0

Gracias, hecho :-) – pr0gg3d

Respuesta

10

Usted puede comprobar Python module to enable ANSI colors for stdout on Windows? para ver si es útil.

El módulo colorama parece ser multiplataforma.

Instala Colorama:

pip install colorama 

continuación:

import colorama 
colorama.init() 
start = "\033[1;31m" 
end = "\033[0;0m" 
print "File is: " + start + "<placeholder>" + end 
+0

Funciona con colorama He editado la respuesta para incluir el código completo. –

4

Se puede echar un vistazo a https://github.com/kennethreitz/clint

Desde el readme:

>>> from clint.textui import colored, puts 

>>> puts(colored.red('red text')) 
red text 

# It's red in Windows, OSX, and Linux alike. 
+0

Si quisiera usar algo Me gustaría algo que venga con la biblioteca estándar. –

+2

Todavía podría echar un vistazo a la fuente. Detrás de las cortinas usa colarama, que básicamente envuelve sys.stdout.write para reemplazar las secuencias de escape. – mfussenegger

1

me escribió un módulo simple, disponible en: http://pypi.python.org/pypi/colorconsole

Funciona con Windows, Mac OS X y Linux. Utiliza ANSI para Linux y Mac, pero llamadas nativas a funciones de consola en Windows. Tiene colores, posición del cursor y entrada de teclado. No es un reemplazo de las maldiciones, pero puede ser muy útil si necesita usar scripts simples o juegos ASCII.

Los documentos se pueden encontrar aquí: http://code.google.com/p/colorconsole/wiki/PageName

PD: Esta es la misma respuesta para Print in terminal with colors using Python?, pero yo no sabía cómo vincular a una respuesta.

Cuestiones relacionadas