1

嘿,我正在处理一个需要几分钟时间的操作的 python 项目。问题是因为这需要几分钟,我希望用户能够按 Enter 键来查看操作的当前状态。我怎样才能在 Python 2 中做到这一点?

4

1 回答 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 回答