Jak zabić pętlę chwilową za pomocą naciśnięcia klawisza?

Czytam dane szeregowe i zapisuję do pliku csv za pomocą pętli while. Chcę, aby użytkownik mógł zabić pętlę while, gdy uzna, że ​​zgromadził wystarczającą ilość danych.

while True:
    #do a bunch of serial stuff

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

Zrobiłem coś takiego za pomocą opencv, ale nie działa w tej aplikacji (i tak naprawdę nie chcę importować opencv tylko dla tej funkcji) ...

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

Więc. Jak mogę pozwolić użytkownikowi wyjść z pętli?

Nie chcę też używać przerwania klawiatury, ponieważ skrypt musi kontynuować działanie po zakończeniu pętli while.

questionAnswers(5)

yourAnswerToTheQuestion