Sto leggendo i dati seriali e scrivendo su un file csv usando un ciclo while. Voglio che l'utente sia in grado di uccidere il ciclo while una volta che ritengono di aver raccolto abbastanza dati.Come uccidere un ciclo while con un tasto?
while True:
#do a bunch of serial stuff
#if the user presses the 'esc' or 'return' key:
break
ho fatto qualcosa di simile utilizzando OpenCV, ma non sembra funzionare in questa applicazione (e ho davvero non voglio importare OpenCV solo per questa funzione in ogni caso) ...
# Listen for ESC or ENTER key
c = cv.WaitKey(7) % 0x100
if c == 27 or c == 10:
break
Così. Come posso consentire all'utente di uscire dal ciclo?
Inoltre, non voglio usare l'interrupt di tastiera, perché lo script deve continuare a funzionare dopo che il ciclo while è terminato.
@Chris: perché non provarlo. (e poi commenta) – SilentGhost
ho fatto subito dopo il commento ... ho dimenticato di cancellarlo. Ho contrassegnato questa risposta come accettata. – Chris
Questo arresto anomalo (ottengo la traccia di errore) è '^ C' viene emesso mentre è in' do_something() '. Come puoi evitare questo? – Atcold