碰到的问题,一段代码,print在前,log的在后,查看日志中log的反而在前面。是python输出缓冲区的问题。

  python输出缓冲区要满 4k 才写入文件,除非禁用缓存或者强制输出或者程序结束。中途 ctrl+c 中断会丢失一些输出。

#!/usr/bin/python
#coding=utf-8
'''
暂停1s输出
'''import timedef printStar(n):for i in range(n):print " * ",time.sleep(1)if __name__ == '__main__':printStar(10)

  等待10s后一次性输出:

  * * * * * * * * * *

#!/usr/bin/python
#coding=utf-8
'''
暂停1s输出
'''import time
import sysdef printStar(n):for i in range(n):print " * ",sys.stdout.flush()time.sleep(1)if __name__ == '__main__':printStar(10)

  则是一秒钟输出一个*

  python程序stdout会先输出到缓冲区,等缓冲区满或者脚本结束再输出,而stderr不会先输出到缓冲区。print 会调用 sys.stdout 的 write 方法。

  解决的办法:

  1、运行时加-u参数,如 # python -u test.py 

  2、在不要缓冲的每一次print后面添加sys.stdout.flush()函数

  3、添加环境变量 PYTHONUNBUFFERED=1

转载于:https://www.cnblogs.com/lnlvinso/p/8992839.html

python输出缓冲区的问题相关推荐

  1. php 缓冲区,PHP的输出缓冲区

    PHP的输出缓冲区 在PHP中有一个名为"输出缓冲区"「ob」的东西.PHP的输出流包含很多字节,通常是echo语句或者printf()函数输出的.这些东西的数据需要用到输出缓冲区 ...

  2. python输出结果空格分割_python 输出列表元素实例(以空格/逗号为分隔符)

    给定list,如何以空格/逗号等符号以分隔符输出呢? 一般的,简单的for循环可以打印出list的内容: l=[1,2,3,4] for i in l: print(i) 输出结果一行一个元素: 1 ...

  3. Mac vscode 调试打印有问题 输出缓冲区 “\r\n“

    回归csdn,做回技术. 之前一直用gdb没出现过这种问题 因为mac平台是lldb存在输出缓冲区,在单步调试时发现cout输出不是执行完才输出的. 有两种方法解决: 每一个输出都加一个回车endl ...

  4. python输出去空格_python输出怎么取消空格

    python输出怎么取消空格?下面给大家介绍几种不同的方法: 1:strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c " >&g ...

  5. python输出特别的矩阵

    这里举例python输出一些特别的矩阵 1,输出如下6*2矩阵 code如下: A = mat(np.zeros([2*3,2])) #建6*2矩阵 for i in range(2*3) #遍历各个 ...

  6. python函数注释 参数 省略号_解决python 输出是省略号的问题

    这个问题非常非常重要,搞了一晚上都没解决好,但是真的很简单很简单, 如果你也 是用的numpy array, 如果你也想得到输出矩阵的全部内容,而不是省略形式, [[ 0.10284943 0.095 ...

  7. python输出个人信息_Python如何输出警告信息

    问题 你希望自己的程序能生成警告信息(比如废弃特性或使用问题). 解决方案 要输出一个警告消息,可使用 warning.warn()函数.例如: import warnings def func(x, ...

  8. python输出乘法口诀-python以不同方式打印输出九九乘法表

    参考:http://www.cnblogs.com/suiy-160428/p/5594389.html python输出 9*9 乘法口诀表 矩形输出九九乘法表: for i in range(1, ...

  9. python输出乘法口诀-【每日一练】python输出 9*9 乘法口诀表

    原标题:[每日一练]python输出 9*9 乘法口诀表 无论学哪种程序,哪一门语言都对输出9*9 乘法口诀表情有独钟,记得学VB的时候,需要好长一段代码才实现,那么你知道用Python输出,需要几行 ...

最新文章

  1. 计算机科学与技术导论
  2. Excel 单元格不能设置超链接
  3. 入世展望对话国际农民丰收节贸易会 农产品国贸谋定展望
  4. 深入理解Linux内核之主调度器
  5. 易语言复制C指针,易语言教程API模块制作cmd复制文件
  6. 你还会写这段C51程序吗?
  7. 内是不是半包围结构_轻钢别墅的体系结构
  8. 第512章 河系量子计算机,第512章 河系量子计算机
  9. android个人中心界面_在android搭建个人的文件中心(1)--一个想法
  10. python中的进程池:multiprocessing.Pool()
  11. 《重构HTML改善Web应用的设计》读书笔记
  12. 程序员怎样练出倒三角身材
  13. ABAP - 3D Graphs with SAP
  14. Rancher2.5入门——安装Rancher
  15. 从XML文件制作VOC数据集ImageSets下的txt文件
  16. 【Energy Forecasting】能源预測的发展和展望
  17. CImage不失真缩放显示图片
  18. ppt文件太大怎么压缩
  19. oracle计算sql运行时间,如何计算正在运行的SQL已经执行的时间?
  20. SPU ITEM SKU

热门文章

  1. Oracle12C 怎样导入scott用户
  2. ophonesdn对首位优秀版主mobileguy的专访
  3. 请君入瓮: 火眼自称遭某 APT 国家黑客组织攻击
  4. 我要上 Pwn2Own
  5. Python连接Oracle-常见问题
  6. ubuntu wifi
  7. android 线性布局
  8. 大文件数据导出(后台执行,自动生成)
  9. Oracle下的用户创建角色、授权、建立表空间
  10. vmclone 问题