试试这个上下文管理器:from cStringIO import StringIO

import sys

class Capturing(list):

def __enter__(self):

self._stdout = sys.stdout

sys.stdout = self._stringio = StringIO()

return self

def __exit__(self, *args):

self.extend(self._stringio.getvalue().splitlines())

del self._stringio # free up some memory

sys.stdout = self._stdout

用法:with Capturing() as output:

do_something(my_object)

output现在是包含函数调用打印的行的列表。

高级用途:

可能不明显的是,这可以不止一次地完成,结果相互关联:with Capturing() as output:

print 'hello world'

print 'displays on screen'

with Capturing(output) as output: # note the constructor argument

print 'hello world2'

print 'done'

print 'output:', output

输出:displays on screen

done

output: ['hello world', 'hello world2']

python stdout_如何从Python函数调用中捕获stdout输出?相关推荐

  1. python编程midi键盘按键_Python中捕获键盘的方式详解

    python中捕获键盘操作一共有两种方法 第一种方法: 使用pygame中event方法 使用方式如下:使用键盘右键为例 if event.type = pygame.KEYDOWN and even ...

  2. java tomcat输出信息,java – 如何在Tomcat中记录stdout输出?

    我以前遇到过类似的问题,还没有找到一种方法,通过在Windows unless you are running Tomcat as a Windows service中记录System.out来执行此 ...

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

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

  4. python获取子进程返回值_Python 从subprocess运行的子进程中实时获取输出的例子 Python如何抓取程序的输出?...

    关于python中用subprocess调用exe子进程的问题不懂我的人有什么资格对我指指点点,不了解我的人凭什么对我说三道四的. python杀死子进程后继续执行后面程序 程序a(python写成) ...

  5. 使用 C# 捕获进程输出

    在 .net 中捕获进程输出 Intro 很多时候我们可能会需要执行一段命令获取一个输出,遇到的比较典型的就是之前我们需要用 FFMpeg 实现视频的编码压缩水印等一系列操作,当时使用的是 FFMpe ...

  6. python怎样在一行中捕获多个异常

    所属网站分类: python基础 > 异常处理 作者:浮沉 链接:http://www.pythonheidong.com/blog/article/71/ 来源:python黑洞网,专注pyt ...

  7. python获取键盘按键_Python中捕获键盘的方式详解

    python中捕获键盘操作一共有两种方法 第一种方法: 使用pygame中event方法 使用方式如下:使用键盘右键为例 if event.type = pygame.KEYDOWN and even ...

  8. python sys stdout_如何理解python中的sys.stdout和sys.stderr

    我有以下简单的python代码. stdout = sys.stdout stderr = sys.stderr try: # omited finally: sys.stdout = stdout ...

  9. python捕获所有异常状态_如何在scrapy中捕获并处理各种异常

    前言 使用scrapy进行大型爬取任务的时候(爬取耗时以天为单位),无论主机网速多好,爬完之后总会发现scrapy日志中"item_scraped_count"不等于预先的种子数量 ...

最新文章

  1. 美颜算法之自动祛斑算法实现 | 案例分享
  2. JNI与底层调用-2
  3. 网页禁止右键代码各类代码大全
  4. mysql-nt.exe w3wp.exe cpu 100%_w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法
  5. BZOJ - 2783 树
  6. 1.数据结构 --- 绪论
  7. exeScope软件修改exe或dll文件资源-20150818
  8. GTA5 如何替换各种人物模型
  9. 如何删除360的防火墙模块(详解)
  10. HTML自我介绍表格代码制作
  11. android 播放器全屏模式,ArtVideoPlayer 一个灵活的Android视频播放器,支持全屏,小屏播放...
  12. s32k144 isystem linux,S32K144之时钟配置
  13. CAD图纸转为PDF格式打开或打印格式改变怎么办?
  14. 周志明:《凤凰架构:构建可靠的大型分布式系统》
  15. 用Java编写CGI小结
  16. 短波爱好者如何增强短波收音机接收能力
  17. Office-Microsoft365-家庭和个人版下载和安装
  18. 【ArcGIS 小贴士】Pro VS ArcMap及软件获取
  19. 初试--轮播图--图片切换
  20. Python JWT 介绍

热门文章

  1. 123063天两度瘫痪:为啥不在淘宝上卖火车票?
  2. 成为Flutter动画大师(三)
  3. impl java_究竟是什么毁了我的impl实现
  4. Qt安卓开发经验021-030
  5. sql字符串拼接(concat、concat_ws、group_concat)
  6. 自动化与我——记本科四年的得与失
  7. 计算机服务器水冷系统设计,高温不宕机!解密IBM水冷技术发展史
  8. 实测-用vmware把系统装到U盘
  9. PhotoScape X Pro for Mac(图像特效处理及编辑工具)
  10. 次世代游戏建模的小白看过来,建模师对自学的自述与经验!速看