作者rorp (RORP)
看板Python
標題[問題] command line 印出字串(固定位置)
時間Fri Jan 22 12:57:06 2010
請問一下各位高手,
假如我想要在命令提示字元輸出字串
字串會隨著迴圈更新
例如:
for n in range(1,200):
print 'number:',n
結果是:
number: 1
number: 2
number: 3
.
.
.
可是這樣不好看,假如我更新2000次,就有兩千行了
有沒有辦法輸出字串是在同一個位置更新的
想要的結果:
number: n <==在同一個位置,不另起新行,n會隨著時間更新。
感謝各位解惑!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.217.49
※ 編輯: rorp 來自: 140.112.217.49 (01/22 12:59)
1F:推 Sforever:Linux?? 01/22 14:07
2F:→ Sforever:import time 01/22 14:07
3F:→ Sforever: time.sleep(1) 01/22 14:08
4F:→ Sforever: print b'\33[2J%d'%i 01/22 14:08
5F:→ Sforever:中間少打一行 for i in range(1,20): 01/22 14:10
6F:推 yqln95:for i in range(100): 01/22 17:45
7F:→ yqln95: print '\rnumber:',i, 01/22 17:45
8F:→ rorp:哇! 好多方法,太棒了! 謝謝大家! 01/23 00:27
9F:→ mantour:yqln95大的方法我要加上sys.stdout.flush()才能顯示耶 01/26 00:39
10F:→ mantour:不然只會顯示最後一次的輸出 01/26 00:39
11F:→ yqln95:to樓上,在我這還是可以顯示其他輸出耶,我是2.5.4 01/26 15:37
12F:→ mantour:我是ubuntu上的python 2.6.4 01/28 21:45
13F:→ mantour:我的好像是要換行才會flush 01/28 21:46
14F:→ mantour:無論如何都手動flush一下也許比較保險 01/28 21:47