espera asincrónica / no locking espera en python

Me gusta mostrar cada letra de una cadena después de esperar un tiempo, para obtener un efecto de máquina de escribir.

for char in string: libtcod.console_print(0,3,3,char) time.sleep(50) 

Pero esto bloquea el hilo principal, y el progtwig se desactiva.
Ya no puedes acceder hasta que termine.
Nota: se utiliza libtcod

A menos que haya algo que le impida hacerlo, simplemente póngalo en un hilo.

 import threading import time class Typewriter(threading.Thread): def __init__(self, your_string): threading.Thread.__init__(self) self.my_string = your_string def run(self): for char in self.my_string: libtcod.console_print(0,3,3,char) time.sleep(50) # make it type! typer = Typewriter(your_string) typer.start() # wait for it to finish typer.join() 

Esto evitará que el sueño bloquee su función principal.

La documentación para el enhebrado se puede encontrar aquí.
Un ejemplo decente se puede encontrar aquí