Python – Infinite while loop, break on user input
You can use non-blocking read from stdin: import sys import os import fcntl import time fl = fcntl.fcntl(sys.stdin.fileno(), fcntl.F_GETFL) fcntl.fcntl(sys.stdin.fileno(), fcntl.F_SETFL, fl | os.O_NONBLOCK) while True: print(“Waiting for user input”) try: stdin = sys.stdin.read() if “\n” in stdin or “\r” in stdin: break except IOError: pass time.sleep(1)