[pyar] Como terminar un loop while True con una tecla?

Javier Marcon javiermarcon en gmail.com
Mie Sep 14 17:13:52 ART 2016


El 14/09/16 a las 17:08, Gastón Paris escribió:
>
> Tengo una rutina para leer datos que del puerto serial de un arduino y
> grabarlos en un archivo. Para eso implementé un loop while True:
>
>     startTime = time.time()
>
>     while True:
>         while (arduinoPort.inWaiting()==0): #espera a que exista un
>     dato en buffer del arduino
>             pass
>         arduinoString = arduinoPort.readline() #lee el dato del
>     arduino     
>         tiempoTranscurrido = round(time.time() - startTime, 2)
>     #variable de tiempo trasncurrido desde que comenzó la adquisición
>         dataPoint = arduinoString.decode('ascii', errors='replace')
>     #convierte el dato en ascii
>         if isfloat(dataPoint) == True:  #confirma si el dato es float
>             numero = float(dataPoint) #convierte el valor en float
>             with open(archivoSalida, 'a') as f:
>                 f.write(str(tiempoTranscurrido)+', '+str(numero)+'\n')
>     #graba en el archivo
>         time.sleep(0.0001)
>
>
> Ahora quiero establecer un manera de finalizar el loop al escribir
> "exit" en la consola.
>
> Alguien tiene una sugerencia de como hacerlo?
>
> Gracias
>
> Gastón 
> -- 
> Gastón Paris
> gastonparis en gmail.com <mailto:gastonparis en gmail.com>
>
Si queres que salga cuando apretan ctrl+c, podes hacer un:

try:
    tu codigo con loop
except KeyboardInterrupt:
    exit()

Saludos,

Javier.


Más información sobre la lista de distribución pyar