2016-03-16 77 views
0

我在其他地方的StackOverflow &上搜索過,但沒有發現可能發生這種情況的線索。不過,如果已提前回復&回答&我錯過了它,所以我提前道歉。python 3 print(i,end ='')在IDLE中工作,但不在終端中

我在OS X 10.11.3上使用Python 3.5.1。當我運行在IDLE外殼(例如)下面的代碼...

import time 
for i in range(0,101): 
    print(i,end=' ') 
    time.sleep(0.5) 

...它做什麼,我打算和打印0到100在屏幕上以1號+空格每半速率第二。但是當我在終端中以交互方式運行相同的代碼時,在序列0到100同時在屏幕上全部打印的情況下等待50秒。如果代碼是從腳本運行的,並且在Windows環境中也會發生相同的行爲。

我是新來的編碼/ Python,所以請原諒任何天真,但請任何人都可以擺脫這個光?

感謝

斯圖爾特

回答

0

你需要sys.stdout.flush()每次你寫的東西到stdout和睡眠時間。

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

+0

erhesto謝謝。試過這個,現在工作正常。 – e55en

+0

@ e55en,如果這個答案對您有幫助,請考慮將其標記爲已接受(在答案的左上角):) – marcelm

相關問題