python运行时强制刷新缓冲区的方法

yipeiwu_com6年前Python基础

需求:打印一颗”*”休息1s

代码如下:

#!/usr/bin/python
#coding=utf-8
'''
暂停1s输出
'''

import time

def printStar(n):
  for i in range(n):
    print " * ",
    time.sleep(1)

if __name__ == '__main__':
  printStar(10)

输出结果(等待10s后一次性输出):

[root@miner_k test]# python sleep.py 
 * * * * * * * * * * 

分析原因:

在运行代码时,打印10个"*"没有占满缓存区,所以等到程序结束时,才会一次性输出。

缓冲区的刷新方式:
 1.flush()刷新缓存区
 2.缓冲区满时,自动刷新
 3.文件关闭或者是程序结束自动刷新。

正确代码:

#!/usr/bin/python
#coding=utf-8
'''
暂停1s输出
'''

import time
import sys


def printStar(n):
  for i in range(n):
    print " * ",
    sys.stdout.flush()
    time.sleep(1)

if __name__ == '__main__':
  printStar(10)

以上这篇python运行时强制刷新缓冲区的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

应用OpenCV和Python进行SIFT算法的实现详解

应用OpenCV和Python进行SIFT算法的实现详解

应用OpenCV和Python进行SIFT算法的实现 如下图为进行测试的gakki101和gakki102,分别验证基于BFmatcher、FlannBasedMatcher等的SIFT...

Python生成个性签名图片获取GUI过程解析

Python生成个性签名图片获取GUI过程解析

这篇文章主要介绍了Python生成个性签名图片获取GUI过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先来看看程序运行的样子...

解决Djang2.0.1中的reverse导入失败的问题

在Django中,版本是1.10.*以前的,导入reverse方法是这样的: from django.core.urlresolvers import reverse 前几天我刚刚...

Python极简代码实现杨辉三角示例代码

杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。 把每一行看做一个list,写一个generator,不断输出下一行的list 实现下列输出效果: #...

利用Python将数值型特征进行离散化操作的方法

如下所示: data = np.random.randn(20) factor = pd.cut(data,4) pd.get_dummies(factor) 0 0 0...