2017-10-13 158 views
1

我想使用python3在同一行上的终端上缓慢打印字符串的字符。我用这个代码。使用time.sleep函数缓慢打印

for i in "Hello": 
    print(i,end='') 
    time.sleep(0.2) 

这个代码在once.when我使用sys.stdout.write函数()函数,而不是打印功能等待0.2 * 5秒,并打印的所有字符(“你好” LEN),它打印的字符逐行而不是同一行。如何在同一行上打印字符延迟?

回答

3
import sys 
import time 

for c in "Hello": 
    sys.stdout.write(c) 
    sys.stdout.flush() # <- add this 
    time.sleep(0.2) 

或者使用flush参数在Python 3 print功能

print(c, end='', flush=True) 
+0

这并不能使它仍然打印每焦新线有什么区别。我使用Ubuntu的是,为什么这不起作用? –

+0

它应该工作,你可以复制你使用完全相同的代码吗? –

+0

我复制了你的代码sys.stdout.flush()没有效果,但在打印函数工作。 –