我在一起有多个循环,在最内循环中有一个睡眠.例如:
from time import sleep
for i in range(10):
print i,
for j in range(-5,5):
if j > 0:
print '.',
else:
print 'D',
sleep(1)
print ''
Run Code Online (Sandbox Code Playgroud)
如果您运行代码,您可能希望i在D睡眠1秒钟后获得值,D然后再次睡眠直至结束.
但结果是差异,它等待10秒并打印整行0 D D D D D D . . . .并再次等待打印下一行.
我发现打印结束时的逗号导致了这个问题.我该如何解决?
Far*_*dix 14
由于存在逗号,输出缓冲直到a \n.
您应该stdout在每次打印或使用后冲洗sys.stdout.write并冲洗缓冲液.
定义您的打印方法:
import sys
def my_print(text):
sys.stdout.write(str(text))
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)
并在行尾打印a \n
| 归档时间: |
|
| 查看次数: |
13126 次 |
| 最近记录: |