At Thursday 10/8/2006 02:19, placid wrote:

chr = sys.stdin.read(1)
while chr != "q":
    """ keep printing text """
    chr = sys.stdin.read(1)

but again this blocks too.

is there a way to do this, wait for user input but dont block? I could
use a thread that just does the previous code block but i already have
three Thread classes, its just getting too complex with threads!

If your script only needs to be run on Windows -as the subject suggests- you can use the msvcrt module:

from msvcrt import kbhit,getch

stop = False
while not stop:
  print "Hello world!"
  if kbhit(): stop = getch()=='q'

kbhit() is used to detect when a keypress is waiting, so the next getch() will not block.



Gabriel Genellina
Softlab SRL

        
        
                
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya! http://www.yahoo.com.ar/respuestas

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to