Estoy trabajando en una pequeña aventura basada en texto en Python 3.2 mientras lo aprendo para practicar y familiarizarme más con el lenguaje. De todos modos, quiero hacer que cuando ocurran ciertas acciones, el color del texto impreso cambie. Cómo hago esto.

Por ejemplo, el primer texto para el que quiero que ocurra esto es:

if 'strength' in uniqueskill.lower():
time.sleep(3)
print('As you are a Warrior, I shall supply you with the most basic tools every Warrior needs.')
time.sleep(3)
print('A sword and shield.')
time.sleep(1)
print('You have gained A SWORD AND SHIELD!')
respuesta

Colorama es un excelente módulo multiplataforma para imprimir en la terminal/línea de comando en diferentes colores.

Ejemplo:

import colorama
from colorama import Fore, Back, Style

colorama.init()

text = "The quick brown fox jumps over the lazy dog"

print(Fore.RED + text)
print(Back.GREEN + text + Style.RESET_ALL)
print(text)

Te dio:

ingrese la descripción de la imagen aquí

No especificó su plataforma, lo cual es bastante importante aquí, ya que la mayoría de los métodos para enviar texto en color a la consola son específicos de la plataforma. La biblioteca curses que viene con Python, por ejemplo, es solo para UNIX, y los códigos ANSI ya no funcionan en las nuevas versiones de Windows. La solución más multiplataforma que se me ocurre es instalar la versión de Windows de curses en máquinas con Windows y usarla.

Aquí hay un ejemplo para usar color con maldiciones:

import curses

# initialize curses
stdscr = curses.initscr()
curses.start_color()

# initialize color #1 to Blue with Cyan background
curses.init_pair(1, curses.COLOR_BLUE, curses.COLOR_CYAN)

stdscr.addstr('A sword and a shield.', curses.color_pair(1))
stdscr.refresh()

# finalize curses
curses.endwin()

Tenga en cuenta que las maldiciones son más complejas que solo tener colores. Puede usarlo para definir varias ventanas en la pantalla de la consola, colocar texto usando coordenadas absolutas o relativas, manipular la entrada del teclado, etc. Puede encontrar un tutorial aquí: http://docs.python.org/dev/howto/curses.html