所以我有一个python脚本,它试图自动化整个构建过程。因此,它不仅调用python文件,还调用shell脚本、maven等,所以我需要的是一个方法/过程/库,将stdout和stderr的输出捕获到日志文件,同时仍将其打印到控制台,即使打印到控制台的不是python脚本。在

我们在一台linux机器上工作,所以在手动操作时,我们先执行script,然后执行所有命令,然后执行exit。但是当试图用python脚本包装它时,似乎脚本接受shell的命令,并且在我先exit之前不允许我运行其余的命令。在

为了验证概念,这里有一个bash脚本,它每半秒打印一个数字,最多10个。在

print_nums.bash#!/bin/bash

for i in {1..10}

do

echo "$i"

sleep 0.5

done

这就是我想做的。在

test_script.py

^{pr2}$

我还研究了日志模块,但似乎只容易地将python打印捕获到日志中。我可能搞错了,如果有一个简单的方法,我肯定愿意改变方法论。但本质上,我希望能够在python中有效地说,从这里开始,我想记录控制台输出,这里我想以编程方式结束日志记录。在

您可以想象一个构建命令和初始测试可能需要很长的时间,比如15-20分钟,如果您只执行一个

some_command.bash > logfile.txt。在

python stdout stderr 一起输出_Python捕获stdout/stderr并在看到outpu的同时记录到文件相关推荐

  1. python stdout stderr 一起输出_Python在保留顺序的同时分别从子进程stdout和stderr读取...

    小智.. 6 写入后,进程将数据写入不同管道的顺序将丢失. 您无法判断在stderr之前是否已写入stdout. 您可以尝试在数据可用时以非阻塞方式同时从多个文件描述符中同时读取数据,但这只会最大程度 ...

  2. python一个文本循环输出_Python实现动态循环输出文字功能

    在一些公共场所经常可以看到一些动态提示的文字,以下代码即为文字的循环变化代码: import sys import time def print_act(word): print('新春佳节快乐'+' ...

  3. python如何多行输出_python换行输出 Python里具体怎么用\n换行输出一个数字?

    python里 如何把每打印10个数就换行的实现 print("每输出十个数字换行,共计输出100个:")for num in range(1,100):#循环一百次 print( ...

  4. python stdout stderr 一起输出_python – 使用subprocess.Popen()时,stderr和stdout没有输出

    我正在使用 Python来自动化SVN提交,我想将SVN命令的输出写入日志文件.我有的代码可以使SVN运行,但问题是在成功提交时,子进程调用不会返回我的日志的任何输出. 当我手动运行SVN时,通过比较 ...

  5. python stdout stderr 一起输出_Python日志记录在stdout和stderr之间拆分

    Is it possible to have python logging messages which are INFO or DEBUG to go to stdout and WARNING o ...

  6. python输出变量的值使用_Python捕获任何异常,并使用变量值打印或记录回溯

    当我用sys.excepthook捕获意外错误时 import sys import traceback def handleException(excType,excValue,trace): pr ...

  7. python实时获取子进程输出_Python 从subprocess运行的子进程中实时获取输出的例子...

    有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的.在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和 ...

  8. python以垂直方式输出_python学习笔记

    Author: maddock Date: 2015-03-15 21:42:01 (暂时没有整理) python json文件处理 #coding:utf-8 importjson#data = [ ...

  9. python数据的格式输出_python数据类型,格式话输出

    一.程序交互 name = input("你的名字是:") #用户输入,输入的任何东西都存储成str(字符串类型)的形式 二.注释的重要性 以后动辄几千行代码的时候,回过头再去看的 ...

最新文章

  1. nginx学习之静态内容篇(五)
  2. Ymodem协议学习笔记
  3. linux下mysql的基本用法
  4. 《Arduino开发实战指南:LabVIEW卷》——3.2 LabVIEW的数据流编程方法
  5. 点到点链路上的OSPF协议
  6. 04:数组逆序重放【一维数组】
  7. 让Cookies操作变得向Session一样简单
  8. jQuery-动画排队
  9. 谁说财务软件不能上纯公有云?
  10. grubbs准则 matlab_(转)格拉布斯准则(Grubbs Criterion)处理数据异常
  11. 即时通讯创业必读:解密微信的产品定位、创新思维、设计法则等
  12. 风控每日一问:风控工作的价值在于?
  13. 信息安全数学基础(一)
  14. element之el-scrollbar
  15. 华三防火墙添加web用户_H3C F1000-C-G防火墙开web功能
  16. [5] Java中的static关键字
  17. MNL——多项Logit模型学习笔记(一)离散选择以及logit模型介绍
  18. 局域网SDN技术硬核内幕 二 从软件Overlay到硬件Overlay
  19. 什么是内容交付网络?
  20. 常用的国际物流运输方式有哪些

热门文章

  1. Mix3D:大规模三维场景的数据增强(3DV2021)
  2. PatchmatchNet:一种高效multi-view stereo框架 (CVPR2021 Oral)
  3. 三维形状和外观重建一次全搞定: DeepSurfels在线融合实现逼真重建
  4. 基于DL的计算机视觉方法热度高涨,传统方法就可以偏废?
  5. 基于点云的三维物体表示与生成模型
  6. 怎么两边同时取ln_脏辫发型怎么编编发教程图解简单易学!
  7. vue 复选框的渲染
  8. 其他算法-LSH局部敏感度哈希
  9. Python中常用的一些操作总结(未完待续)update @ 2017-5-18
  10. 【问题收录】svn: E155010: 提交失败(Ubuntu14.04环境)