Python Print语句不会用\ r覆盖上一行

时间:2015-01-11 20:06:41

标签: python-2.7 printing

我正在尝试覆盖Python2.7中的打印行

from __future__ import print_function
import time
print('This is the first statement', end='\r')
time.sleep(1)
print('This is the Second Statement')

从这里我可以看到第一条印刷线,然后是一秒钟之后,第二条印刷线,覆盖了第一条印刷线。

执行代码时,我得到的只是脚本运行后一秒钟的第二行打印行。这里发生了什么?如何让第一个语句出现在第二个语句之前,然后是覆盖?

1 个答案:

答案 0 :(得分:2)

使用sys.stdout.flush

from __future__ import print_function
import time
import sys
print('This is the first statement', end='\r')
sys.stdout.flush() 
time.sleep(1)
print('This is the Second Statement')