前言

用网上的一个程序示例来说明,python中stdout默认需要缓存后再输出到屏幕,而stderr则直接打印到屏幕

import syssys.stdout.write("stdout1")
sys.stderr.write("stderr1")
sys.stdout.write("stdout2")
sys.stderr.write("stderr2")

其中sys.stdout.write()和sys.stderr.write()均是向屏幕打印的语句。其实python中的print语句就是调用了sys.stdout.write(),例如在打印对象调用print obj时,事实上是调用了 sys.stdout.write(obj+’\n’)。
预想的结果是:stdout1stderr1stdout2stderr2
实际的结果为:stderr1stderr2stdout1stdout2
原因是python缓存机制,虽然stderr和stdout默认都是指向屏幕的,但是stderr是无缓存的,程序往stderr输出一个字符,就会在屏幕上显示一个;而stdout是有缓存的,只有遇到换行或者积累到一定的大小,才会显示出来。这就是为什么上面的会最先显示两个stderr的原因!

– u参数的使用

有了上面的铺垫,就可以引出python 的- u参数了。python命令加上- u(unbuffered)参数后会强制其标准输出也同标准错误一样不通过缓存直接打印到屏幕。
运行结果 :stdout1stderr1stdout2stderr2
这样变成了预期的输出了。
不难看出在将python执行脚本输出到屏幕结果直接重定向到日志文件的情况下,使用- u参数,这样将标准输出的结果不经缓存直接输出到日志文件。

参考:

https://www.jianshu.com/p/6c0cc9da2752

python -u xxx.py相关推荐

  1. python -m xxx.py和python xxx.py的区别

    先看下python -m site作用是显示sys.path的值内容,也就是python搜索模块的目录,作用类似于linux下的PATH python -m SimpleHTTPServer 会在sy ...

  2. python -m xxx.py 模块启动与直接启动python xxx.py 的区别,就是对sys.path的修改不同,导致可以调用的模块范围就不一样

    https://www.cnblogs.com/softidea/p/5119923.html

  3. mitmdump 脚本使用python第三方包方法(报错:in script xxx.py: No module named ‘xxx‘)

    本文仅供学习交流使用,如侵立删! mitmdump -s 调用py脚本时 加载python第三方包会报错 报错:in script xxx.py: No module named 'xxx' 解决方法 ...

  4. 【Python】SyntaxError: Non-UTF-8 code starting with ‘\xe5‘ in file XXX.py on line XX 的解决方法

    问题描述 在写Python爬虫的时候遇到了这个问题: SyntaxError: Non-UTF-8 code starting with '\xe5' in file XXX.py on line X ...

  5. Python后台运行 -- nohup python xxx.py

    nohup 用法总结 代码示例 nohup指令 2>&1 错误内容重定向到标准输出 & 后台运行 若不指定输出文件名,默认会在当前目录生成nphup.out文件 可能存在的问题 ...

  6. python的setup.py文件及其常用命令

    python的setup.py文件及其常用命令 上传者:tingting1718      我也要"分享赚钱" 2014/7/7 关注(286) 评论(0) 声明:此内容仅代表网友 ...

  7. 使用pyinstall将python+qt的py文件打包为exe

    pyinstall打包 前言 一.pyinstall安装 二.打包步骤 1.直接生成exe(最常见的方法,但qt程序可能会出现问题) 2.使用moviepy包可能出现的问题 2.1.问题 2.2.解决 ...

  8. python应用---将py文件打包成exe应用程序

    写好了python程序,想将它像一个app一样双击就可以运行,或者想发给一个没有python编辑器的朋友,该如何操作? python开发人员就考虑了这种情况,提供了一系列的库以供使用者解决这些问题. ...

  9. 将python中的.py文件打包成.exe

    本篇参考其它csdn文章有https://blog.csdn.net/weixin_53095382/article/details/125613314 https://blog.csdn.net/q ...

最新文章

  1. 华为atn980传输设备_注册开发者超200万!华为HMS加速全球布局,打造全场景智慧体验...
  2. Python的进程和线程(二)——IO密集型任务
  3. C++ - 进阶 1002
  4. Python 线程队列 LifoQueue – LIFO - Python零基础入门教程
  5. Project Life Cycle
  6. 牛客寒假算法基础集训营2 处女座的测验(一) (数论+构造)
  7. 17日直播预告丨Oracle 19c避雷经验分享
  8. 面向对象的程序设计特点
  9. Windows XP英文版安装中文语言包来解决无法显示中文的方法
  10. 小程序源码:酒桌扑克娱乐喝酒小游戏微信小程序源码下载多娱乐功能支持流量主
  11. linux mysql 集群搭建_MySQL分布式集群搭建
  12. excel几个表合成一张_excel多表如何合并到一张表格
  13. 1分钟搞定 OneNote自己账号扩容到15G永久免费空间
  14. ssm框架整合 spring + springMVC + mybatis
  15. IIS的安装及web服务器配置
  16. u盘的大小在计算机无法显示,将U盘插入Win10计算机后不显示可用容量,无法打开无法读取,如何解决...
  17. [云原生专题-22]:K8S - 集群编排工具K8S与SWARM比较与技术选择
  18. jmeter 接口测试 签名_Jmeter之API接口签名验证测试
  19. 微服务--应对每秒上万并发下的参数优化实战(实战经验)
  20. 量化交易接口怎么自动选股票?

热门文章

  1. 捷风资讯app sign
  2. GitHub 开源神器 Bark模型,让文本转语音更简单
  3. vue 2.6 keep-alive 不生效问题记录点
  4. 源码阅读工具 UnderStand
  5. 音乐、音效素材库,好听的BGM都在这~
  6. 交友结婚的原则[转贴]
  7. python游戏开发引擎_师傅带徒弟学:Python视频课程之游戏开发引擎Cocos2d-Python
  8. 计算机组成原理之MIPS汇编:冒泡排序
  9. 【学习记录贴16】cesium进行三维发布
  10. ������ʾ����