作者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