分页: 1 / 1

[Python]为何延时函数在后面,前面的输出仍然要等到延时后?

发表于 : 2017-02-17 17:52
科学之子
[Python]为何延时函数在后面,前面的输出仍然要等到延时后?

代码: 全选

#!/usr/bin/python3
import time
s='Surround'
while True :
    for x in s:
        print (x,end='')
    time.sleep(1)
    print('\r',end='')

Re: [Python]为何延时函数在后面,前面的输出仍然要等到延时后?

发表于 : 2017-02-17 18:37
vickycq

代码: 全选

#!/usr/bin/python3
import time
import sys

s = 'Surround'
while True :
    for x in s:
        print(x, end='')
        sys.stdout.flush()
        time.sleep(0.1)

    time.sleep(1)
    print('\r', end='')

代码: 全选

#!/usr/bin/python3
import time

s = 'Surround'
while True :
    for x in s:
        print(x, end='', flush=True)
        time.sleep(0.1)

    time.sleep(1)
    print('\r', end='')
Help on built-in function print in module builtins:

print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.