这为我工作:
import sys, select, os
i = 0
while True:
os.system('cls' if os.name == 'nt' else 'clear')
print "I'm doing stuff. Press Enter to stop me!"
print i
if sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
line = raw_input()
break
i += 1
您只需要检查一次输入的标准输入(因为第一个输入将终止循环)。如果条件行/非行为您提供了结果,则可以将它们组合为一个if语句。然后,仅使用一个while
语句,您现在可以使用break
而不是设置标志。