python标准输出sys.stdout_使Python中的函数标准输出静音,而不会破坏sys.stdout并恢复每个函数调用...
只是为了补充别人已经说过的内容,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并恢复每个函数调用...相关推荐
- python怎么后退_使python迭代器向后退?
无论如何,要使python列表迭代器向后移动? 基本上我有这个 class IterTest(object): def __init__(self, data): self.data = data s ...
- python3中zip函数_用python实现矩阵转置,python3 中zip()函数
前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...
- python返回值return用法_Python中return函数返回值代码实例用法
本篇文章小编给大家分享一下Python中return函数返回值代码实例用法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. return 添加返回值 r ...
- python语言中ch用法_pytorch 中pad函数toch.nn.functional.pad()的用法
padding操作是给图像外围加像素点. 为了实际说明操作过程,这里我们使用一张实际的图片来做一下处理. 这张图片是大小是(256,256),使用pad来给它加上一个黑色的边框.具体代码如下: imp ...
- python scatter参数详解_Python中scatter函数参数及用法详解
最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...
- python scatter参数详解_Python 中 scatter 函数参数及用法详解
Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...
- Python:pandas groupby实现类似excel中averageifs函数的功能
从exccel切换到python进行数据处理,处理的主要还是excel的思路,希望实现类似excel中某个函数的功能,日常主要参考蓝鲸的<从excel到python>. 目前在做一些统计指 ...
- python正向切片_使Python切片正常(正/正向+无无+无负索引+在边界内)
在Python中实现可以用标准Python语法进行切片的类(即负索引.单步执行等)时,有时可以将切片转换为"理智的.向前的切片",以确定切片的元素.怎样才能以简洁/优雅的形式写出这 ...
- python语言入门q-Python基础教程中的函数
一些重要的内建函数 abs(number) ---- 返回一个数的绝对值 apply(function[, args[, kwds]]) ---- 调用给定的函数,可选择提供参数 all(iterab ...
- python stdin和stdout_无法使用Python写入和读取stdin / stdout
我在MacOS 10.7.4上使用Python 2.7.这是一个较长的脚本(不是我写的)的一部分,它基本上为PHP提供了一些配置选项,将它们写入PHP的stdin,然后从它的stdout中读取它们. ...
最新文章
- 7篇Nature,2篇Science!这所985高校迎来顶刊大丰收
- JavaScript 工作原理(二)-如何在 V8 引擎中书写最优代码的 5 条小技巧(译)
- DataFrame 删除与增减行列
- PowerDesigner提示This data item is already used in a primary identifier.的处理
- ASP.NET2.0_多语言本地化应用程序
- java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作
- L255 Learning to say no brings a thrill of freedom
- Java学习:抽象类与接口
- keras 初步学习
- 关于sql server 代理(已禁用代理xp)
- linux内核数据链路层,基于Linux数据链路层的MPI集群通信机制的设计与实现-嵌入式系统-与非网...
- VC写的手机qq聊天记录导出工具
- 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合
- 程序员的奋斗史(三十三)——人在囧途之应聘篇(三)
- 做好大型项目的五个关键
- MaaS一体化绿色出行服务,实现城市交通出行碳中和
- 微信小程序获取用户运动步数后端返回-41003
- Push to origin/master was rejected解决办法
- java实验报告6:异常处理程序设计
- python 全栈开发,Day43(python全栈11期月考题)