time.sleep
什么也不返回;time.sleep(..)
成为的价值None
; while
循环体未执行。
如果您使用的是Unix,则可以使用select.select
。
import select
import sys
print('Press enter to continue.', end='', flush=True)
r, w, x = select.select([sys.stdin], [], [], 600)
否则,您应该使用线程。
使用的msvcrt
:
import msvcrt
import time
t0 = time.time()
while time.time() - t0 < 600:
if msvcrt.kbhit():
if msvcrt.getch() == '\r': # not '\n'
break
time.sleep(0.1)