以定时间隔打印

时间:2013-12-18 06:35:25

标签: python python-2.7 printing time

我知道如何利用time.sleep(),但我很好奇如何打印这样的东西:

"hey...(pause)...you...(pause)....there"

其中'pause'是time.sleep()个间隔。我只能在不同的行上打印这些间隔。有没有办法把它全部放在一条线上?

2 个答案:

答案 0 :(得分:3)

在python 2中:

print "hey...",
time.sleep(0.5)

在python 3中:

print("hey...", end=' ')
time.sleep(0.5)

答案 1 :(得分:1)

在python2.x的print语句中,您可以使用尾随逗号来抑制换行:

 print "hey...",
 time.sleep(1)
 print "...you...",
 time.sleep(1)
 print "....there"

在python3.x上(或启用了from __future__ import print_function),您使用end 函数print关键字:

 print("hey...", end="")


或者,最后,您始终可以 1 写入sys.stdout信息流:

import sys
sys.stdout.write("hey...")
time.sleep(1)
...

这里的优点是你可以明确地冲洗它:

sys.stdout.flush()

1 技术上并非总是如此。 sys.stdout 可以替换为其他内容:sys.stdout = 3 - 但是在没有清理之后制造一团糟是非常粗鲁的。但是,如果您发现自己处于这种情况,sys.__stdout__是备份; - )。