¿Cómo matar un bucle while con una pulsación de tecla?

Estoy leyendo datos en serie y escribiendo en un archivo csv usando un bucle while. Quiero que el usuario pueda terminar el ciclo while una vez que sienta que ha recopilado suficientes datos.

while True:
    #do a bunch of serial stuff

    #if the user presses the 'esc' or 'return' key:
        break

He hecho algo como esto usando opencv, pero no parece estar funcionando en esta aplicación (y realmente no quiero importar opencv solo para esta función) ...

        # Listen for ESC or ENTER key
        c = cv.WaitKey(7) % 0x100
        if c == 27 or c == 10:
            break

Asi que. ¿Cómo puedo dejar que el usuario salga del bucle?

Además, no quiero usar la interrupción del teclado, porque la secuencia de comandos debe continuar ejecutándose después de que finalice el ciclo while.

Respuestas a la pregunta(5)

Su respuesta a la pregunta