[pyar] Leer teclado sin bloquear el proceso
Ivan Alejandro
ivanalejandro0 en gmail.com
Mie Ago 11 21:32:36 ART 2010
2010/8/11 Jose Luis Dallapiccola <jldalla en gmail.com>:
> Hola, muy buenas noches para todos.
>
> Estoy necesitando resolver la siguiente situación:
>
> Tengo un bucle while y, dentro de ahí, necesito saber si se ha pulsado
> alguna tecla, pero sin detener la ejecución del bucle.
> Es esto posible? El caso sería similar al siguiente:
>
> ##### INICIO
>
> # Estoy leyendo un puerto serie
> datos = []
> continuar = True
> while continuar:
> if ser.inWaiting() > 0:
> linea = ser.readline().rstrip()
>
> if linea:
> datos.append(linea)
>
> # Aca tendria que ir el código para que cuando se detecte la
> presión de la tecla "-" (por ejemplo) se salga del bucle
> if TeclaPresionada() == "-":
> print "Captura finalizada."
> continuar = False
>
> print "Datos capturados:"
> print datos
>
> ##### FIN
>
> No he encontrado con qué función reemplazar TeclaPresionada. Alguna
> recomendación?
>
> Desde ya muchísimas gracias a todos.
>
Busca en google cosas como: keyboard read non blocking python
De lo que lei podes usar msvcrt (en win$) y select (en linux) o pygame
si queres multiplataforma, aca te paso unos links que explican mejor
esto:
http://stackoverflow.com/questions/292095/polling-the-keyboard-in-python
http://stackoverflow.com/questions/2408560/python-nonblocking-console-input
Sino lo que se me ocurre es que uses threads para la lectura del
puerto, de esta manero no se trabaria (supongo) si pedis algo por
teclado.
Espero que te sirva.
Saludos
--
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments
More information about the pyar
mailing list