嘿,我正在处理一个需要几分钟时间的操作的 python 项目。问题是因为这需要几分钟,我希望用户能够按 Enter 键来查看操作的当前状态。我怎样才能在 Python 2 中做到这一点?
问问题
216 次
1 回答
0
@Space_C0wb0y 是对的,进度条是一个很好的解决方案。但是,这演示了一种执行您要求的方法。一些代码从这里捏出来:Non-blocking read on a subprocess.PIPE in python
import fcntl, os, sys
# make stdin a non-blocking file
fd = sys.stdin.fileno()
fl = fcntl.fcntl(fd, fcntl.F_GETFL)
fcntl.fcntl(fd, fcntl.F_SETFL, fl | os.O_NONBLOCK)
def enter_pressed():
data = sys.stdin.read(1)
return bool(data)
i = 0
while True:
i += 1
if enter_pressed():
print(i)
于 2011-03-26T22:19:13.987 回答