[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