只是为了补充别人已经说过的内容,Python 3.4引入了contextlib.redirect_stdout上下文管理器。它接受将输出重定向到的文件(类)对象。

重定向到/ dev / null将抑制输出:

In [11]: def f(): print('noise')

In [12]: import os, contextlib

In [13]: with open(os.devnull, 'w') as devnull:

....:     with contextlib.redirect_stdout(devnull):

....:         f()

....:

In [14]:

此解决方案可以用作装饰器:

import os, contextlib

def supress_stdout(func):

def wrapper(*a, **ka):

with open(os.devnull, 'w') as devnull:

with contextlib.redirect_stdout(devnull):

func(*a, **ka)

return wrapper

@supress_stdout

def f():

print('noise')

f() # nothing is printed

在Python 2和3中都可以使用的另一种可能且偶尔有用的解决方案是将/ dev / null作为参数传递给f并使用函数的file参数重定向输出print:

In [14]: def f(target): print('noise', file=target)

In [15]: with open(os.devnull, 'w') as devnull:

....:     f(target=devnull)

....:

In [16]:

您甚至可以target完全选择:

def f(target=sys.stdout):

# Here goes the function definition

请注意,您需要

from __future__ import print_function

在Python 2中

python标准输出sys.stdout_使Python中的函数标准输出静音,而不会破坏sys.stdout并恢复每个函数调用...相关推荐

  1. python怎么后退_使python迭代器向后退?

    无论如何,要使python列表迭代器向后移动? 基本上我有这个 class IterTest(object): def __init__(self, data): self.data = data s ...

  2. python3中zip函数_用python实现矩阵转置,python3 中zip()函数

    前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...

  3. python返回值return用法_Python中return函数返回值代码实例用法

    本篇文章小编给大家分享一下Python中return函数返回值代码实例用法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. return 添加返回值 r ...

  4. python语言中ch用法_pytorch 中pad函数toch.nn.functional.pad()的用法

    padding操作是给图像外围加像素点. 为了实际说明操作过程,这里我们使用一张实际的图片来做一下处理. 这张图片是大小是(256,256),使用pad来给它加上一个黑色的边框.具体代码如下: imp ...

  5. python scatter参数详解_Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  6. python scatter参数详解_Python 中 scatter 函数参数及用法详解

    Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...

  7. Python:pandas groupby实现类似excel中averageifs函数的功能

    从exccel切换到python进行数据处理,处理的主要还是excel的思路,希望实现类似excel中某个函数的功能,日常主要参考蓝鲸的<从excel到python>. 目前在做一些统计指 ...

  8. python正向切片_使Python切片正常(正/正向+无无+无负索引+在边界内)

    在Python中实现可以用标准Python语法进行切片的类(即负索引.单步执行等)时,有时可以将切片转换为"理智的.向前的切片",以确定切片的元素.怎样才能以简洁/优雅的形式写出这 ...

  9. python语言入门q-Python基础教程中的函数

    一些重要的内建函数 abs(number) ---- 返回一个数的绝对值 apply(function[, args[, kwds]]) ---- 调用给定的函数,可选择提供参数 all(iterab ...

  10. python stdin和stdout_无法使用Python写入和读取stdin / stdout

    我在MacOS 10.7.4上使用Python 2.7.这是一个较长的脚本(不是我写的)的一部分,它基本上为PHP提供了一些配置选项,将它们写入PHP的stdin,然后从它的stdout中读取它们. ...

最新文章

  1. 7篇Nature,2篇Science!这所985高校迎来顶刊大丰收
  2. JavaScript 工作原理(二)-如何在 V8 引擎中书写最优代码的 5 条小技巧(译)
  3. DataFrame 删除与增减行列
  4. PowerDesigner提示This data item is already used in a primary identifier.的处理
  5. ASP.NET2.0_多语言本地化应用程序
  6. java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作
  7. L255 Learning to say no brings a thrill of freedom
  8. Java学习:抽象类与接口
  9. keras 初步学习
  10. 关于sql server 代理(已禁用代理xp)
  11. linux内核数据链路层,基于Linux数据链路层的MPI集群通信机制的设计与实现-嵌入式系统-与非网...
  12. VC写的手机qq聊天记录导出工具
  13. 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合
  14. 程序员的奋斗史(三十三)——人在囧途之应聘篇(三)
  15. 做好大型项目的五个关键
  16. MaaS一体化绿色出行服务,实现城市交通出行碳中和
  17. 微信小程序获取用户运动步数后端返回-41003
  18. Push to origin/master was rejected解决办法
  19. java实验报告6:异常处理程序设计
  20. python 全栈开发,Day43(python全栈11期月考题)

热门文章

  1. Iris数据集免费下载
  2. 高斯克吕格投影知识总结
  3. 多功能雨伞项目计划书_共享雨伞商业计划书完整版.doc
  4. Arm云游戏及虚拟化技术沙龙,Arm中国,NVIDIA,腾讯及百度等为你分享超强技术干货
  5. 15、孪生网络与相似度
  6. linux抓包-tcpdump
  7. 【有限元分析】有限元仿真分析与解析解的结果对比——以简单悬臂梁的受力分析为例
  8. html svg 编辑器
  9. 【ceph】vdbench的使用教程——裸盘测试和文件系统测试vdbanch
  10. qt opengl 天空盒