我已经使用答案here在Python 2的同一行中打印。
from __future__ import print_function
import time
num = '\r'
for i in xrange(10):
num += str(i+1) + ' '
print (num, end='')
time.sleep(0.3)
print('\n')
但是它仅在循环结束后才打印整个字符串。怎么了?
Python 2.7.9。
答案 0 :(得分:2)
链接答案中的注释说明了原因-仍需要sys.stdout.flush()
刷新输出缓冲区。
from __future__ import print_function
import time
num = '\r'
for i in xrange(10):
num += str(i+1) + ' '
print (num, end='')
sys.stdout.flush()
time.sleep(0.3)
print('\n')