我在StackOverflow&上搜索过其他地方,但没有发现为什么会发生这种情况的线索。但是,如果有人提出要求,我会事先道歉。先前已回答&我错过了。
我在OS X 10.11.3上使用Python 3.5.1。当我在IDLE shell中运行(例如)以下代码时......
import time
for i in range(0,101):
print(i,end=' ')
time.sleep(0.5)
...它按照我的意图完成,并在屏幕上以每半秒1个数字+空格的速率打印0到100。但是当我在终端中以交互方式运行相同的代码时,在屏幕上同时打印序列0到100之前有50秒的等待时间。如果从脚本运行代码,并且在Windows环境中也运行相同的行为。
我是编码/ Python的新手,所以请原谅任何天真,但请有人对此有所了解吗?
由于
斯图尔特
答案 0 :(得分:0)
每次你向stdout和sleep一起写东西时,你需要sys.stdout.flush()。
from time import sleep
import sys
for i in range(1,100):
print(i, end=' ')
sys.stdout.flush()
sleep(0.5)
这对你有用。更多信息:some other stack overflow question