$ python xxx.py args1 >> data/log.txt第一条命令的含义是:将xxx.py这个python文件中print()原本输出到console的内容重定向到"data/log.txt"文件中。(“>>”是追加,“>”是直接写入,即会发生覆盖);
$ python xxx.py args1 | tee -a data/log.txt
第二条命令使用了tee命令,在保证xxx.py文件运行时将print内容输出到控制台的同时,还把这些内容保存在"data/log.txt"文件中。

问题

因为在python中,重定向和输出到控制台的内容会先被存在缓冲区中暂存,当它遇到换行符“\n”,或者缓存区的数据积累到一定的量的时候,就会将内容写到重定向的文件或者控制台中。

所以有的时候会发生比较蛋疼的情况,那就是可能要间隔很久,你才会看到你的"data/log.txt"中有内容;或者控制台才有内容显示。

解决

  1. python的print()函数有个参数叫"flush",将它设为True,程序运行到该条输出内容时就会将缓存区的内容写出一次。即
print("abcdefghijklmnopqrst", flush=True)
  1. 命令行运行py文件的时候,加上一个命令行参数"-u"。即
python -u xxx.py args1 | tee -a data/log.txt

python程序命令行输出记录到log文件中相关推荐

  1. 保存命令行输出信息到log的方法(ubunut下和arm-linux下有效)

    使用命令script 在命令行下输入script xxx.log,在当前目录下生成xxx.log文件,接下来命令行中输出的信息都将会保存到xxx.log文件中,当你想结束保存的时候,命令行下输入exi ...

  2. leveldb 学习记录(四)Log文件

    前文记录 leveldb 学习记录(一) skiplist leveldb 学习记录(二) Slice leveldb 学习记录(三) MemTable 与 Immutable Memtable le ...

  3. python编写命令行框架_使用 Python 和 Click 编写命令行应用程序

    简评:python 构建命令行应用的第三方比较有名的包除了 click 之外还有一个叫 docopt,这是一个以文档先行为目标的包.个人是比较倾向于 Click 的,看了这篇文章之后,也很快写了一个 ...

  4. 调试秘笈--MessageBox()格式化输出,windows程序支持命令行输出

    这是MessageBox的全家福: 格式化输出: int BoxPrintf( TCHAR * szBuffer, const TCHAR * szFormat, ...) {int iReturn ...

  5. python:命令行与环境

    python:命令行与环境 1.1. 命令行 1.1.1. 接口选项 1.1.2. 通用选项 1.1.3. 其他选项 1.1.4. 不应当使用的选项 1.2. 环境变量 1.2.1. 调试模式变量 C ...

  6. python工具是什么-使用Python编写命令行工具有什么好的库?

    使用Python编写命令行工具的库很多,我最推荐的还是Google Fire Hello World 要介绍Fire是什么,看一个简单的例子就明白了 # calc.py import fire cla ...

  7. Python实现命令行监控北京实时公交之一

    开头先放上效果展示 在命令行输入 python bus.py -i,显示app基本信息,如下: 在命令行输入 python bus.py 438,显示北京438路公交车的位置,如下: 红色的B说明在梅 ...

  8. python argparse_Python 命令行之旅:argparse、docopt、click 和 fire 总结篇

    本文首发于HelloGitHub公众号,并发表于Prodesire 博客. 一.前言 在近半年的 Python 命令行旅程中,我们依次学习了 argparse.docopt.click 和 fire ...

  9. ubuntu 保存命令行操作记录

    ubuntu 保存命令行操作记录 前言 开始 结束 前言 最近学习使用linux比较多,但是好多东西在输入过之后需要保存过程,很是苦恼,特别是遇到一些bug的时候没有及时记录,马上就不知的被甩到哪里了 ...

最新文章

  1. 又要头秃?2020年七大AI编程语言大盘点
  2. SpringBoot 部署 Jar 文件,瘦身优化指南 !
  3. 手绘线条一直画不直_我学素描,线条画不直怎么办啊?
  4. linux 使用dd命令 写入镜像文件到u盘
  5. java基础_数组常用算法
  6. flask html css文件更改后(谷歌)浏览器不及时更新样式文件怎么办?(ctrl+shift+delete清除缓存的图片和文件)
  7. Angular里ngClass的一个使用例子
  8. php怎么设置网站的字符编码,php如何设置字符编码
  9. SAP License:SAP Business One 与SAP R/3的区别
  10. web之JavaScript
  11. ad用户和计算机显示2000个,AD 用户属性userAccountControl的详细解释
  12. ami编码设计流程图_基于FPGA器件实现AMI编码器和译码器的设计
  13. css同时多个立方体旋转,CSS3 旋转立方体问题详解
  14. win11浏览器默认主页如何设置
  15. 泛微oa 明细数据合计
  16. Python+appium+GUI界面pyside2微信自动加好友(改问候语、备注、标签)
  17. Java用JFrame、JPanel、Graphics绘图案例讲解
  18. 【一起进大厂】7天掌握react基础系列(1)
  19. English语法_原型不定式
  20. 用户行为分析面面观(之二)-----特征2:流动性

热门文章

  1. 记住账号密码(本地存储)
  2. 根据用户所在部门id,返回所在部门id及子部门id
  3. Java 学习之路让我帮助很大的书籍
  4. aliyun-blog的markdown显示效果测试
  5. 编写一个程序btree.cpp, 实现二叉树基本运算
  6. 如何实现消息功能_微信服务号功能助手发送消息模板如何实现
  7. [附源码]计算机毕业设计springboot家庭教育app
  8. Ubuntu如何不用每次都source
  9. 2017大学计算机考试题,2017年大学计算机一级考试题库
  10. DAIDAI.IO-让DAO重新定义 Web3 NFT平台