【发布时间】:2017-01-03 19:18:47
【问题描述】:
我正在使用 python 2.7 编写
我有以下代码:
a = 0
b = 0
while True:
a += 1
b += 1
print str(a)
print str(b)
输出如下:
1
1
2
2
3
3
4
....
并且想用stdout.flush() 刷新这两行。代码看起来像这样,但它不起作用..
import sys
a = 0
b = 0
while True:
a += 1
b += 1
sys.stdout.write(str(a)+"\n")
sys.stdout.write(str(b)+"\r")
sys.stdout.flush()
这会产生如下输出:
1 #1
2 #1 ->#2
3 #2 ->#3
4 #3 ->#4
...
我知道这是因为\r 只跳转到第二行的开头,并从下一个打印开始..
如何将光标设置在第一行而不是第二行的开头?
这样它只会刷新两行:
n #1 ->#2 ->#3 ->#4 ->#.....
n #1 ->#2 ->#3 ->#4 ->#.....
我希望有人能理解我的意思。
【问题讨论】:
标签: python python-2.7 stdout flush sys