Gabriel Genellina wrote:
> 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.

Thanks for the solution ive got it working.  You were correct, the
script needs to run only on Windows.

Cheers (and thanks all for the replies)

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

Reply via email to