Python print()重定向 不输出到屏幕
有这样一个需求:
如果一个函数handle_data()
其内部有调用print()
直接输出数据到屏幕,但是在某次调用handle_data()
时又希望其不输出到屏幕,可以使用装饰器来进行处理。
具体实现代码如下:
import os
import sysdef print_redict_wrapper(input_func):def wrapper(data):with open('temp.dat', 'w') as dest_file:old_out = sys.stdout # 保存之前的输出位置sys.stdout = dest_file # 设置当前输出到文件input_func(data)sys.stdout = old_out # 花园之前的输出位置return wrapper# 这里不使用@ print_redict_wrapper
# 是希望直接调用handle_data()时还是输出到屏幕
def handle_data(data):print(data)if __name__ == '__main__':handle_data('hellohi before')# 下面调用handle_data希望不输出到屏幕# 使用print_redict_wrapper进行包装wrapper_func = print_redict_wrapper(handle_data)wrapper_func('hellohi')handle_data('hellohi after')
代码输出为:
hellohi before
hellohi after
生成的临时文件temp.dat
也可以将其删除。
Python print()重定向 不输出到屏幕相关推荐
- Python·.·.print()函数格式化输出-超详解
Python·.·.print()函数格式化输出 print()函数格式为: print(objects, sep=' ', end='\n', file=sys.stdout) 文章目录 Pytho ...
- python print不换行输出_python中print如何不换行输出
让print()函数不换行 在Python中,print()函数默认是换行的.但是,在很多情况下,我们需要不换行的输出(比如在算法竞赛中).那么,在Python中如何做到这一点呢? 其实很简单.只要指 ...
- python --print带颜色输出
第一种[不支持linux] # -*- coding:utf-8 -*- print("\033[1;30m 字体颜色:白色\033[0m") print("\033[1 ...
- python输出回车_Python print 如何换行输出?
Python print 如何换行输出? 在Python中使用print函数,可以在输出内容中加入"\n"换行符,实现换行输出,"\n"是一种计算机语言表达方式 ...
- python print函数用法总结
print函数说明 print() 函数的详细语法格式如下: print (value,..., sep='', end='\n', file=sys.stdout, flush=False) ...
- python print换行_Python小白必备:教你几招如何装逼
字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!'v ...
- python结果输出到文件-python print输出到文件
要将程序的输出送到一个文件中,需要在 print 语句后面使用 >> 指定一个文件,如下所示: principal = 1000 # 初始金额 rate = 0.05 # 利率 numye ...
- python print 输出赋值_Python中赋值和print笔记
1.在python2.6总nonlocal不可用 2.python中还是可以出现";"的,例如:x = 3 ; y = 5 ; print(x+y) 3.python中的集中赋值: ...
- python日志输出到屏幕,python日志写入文件
python日志输出到屏幕,python日志写入文件 日志 日志是跟踪软件运行时所发生的事件的一种方法.软件开发者在代码中调用日志函数,表明发生了特定的事件.事件由描述性消息描述,该描述性消息可以可选 ...
- Python print函数用法,print 格式化输出
使用print输出各型的 字符串 整数 浮点数 出度及精度控制 strHello = 'Hello Python' print strHello #输出结果:Hello Python #直接出字符串 ...
最新文章
- 最新消息!阿里四舍五入无限期延迟复工,字节跳动、腾讯......等企业也再次延迟!...
- python无法处理特别大的数据文件_Python实现快速大文件比较代码解析
- python语言表白源码-python七夕浪漫表白源码
- tapable源码分析
- MapReduce多个job同时使用的方式(从网上找到的案例,原始博文:http://www.cnblogs.com/yjmyzz/p/4540469.html)
- java -TCP通信
- 图论--最短路-- Dijkstra模板(目前见到的最好用的)
- hadoop之 Hadoop2.2.0中HDFS的高可用性实现原理
- Java:ChronicleMap第3部分,快速微服务
- 时间序列经济python_(13)Python初入坑之时间序列基础内容
- 【抢购仅限1500册】2019年入门必备Linux系统自学书籍半价促销。
- Bresenham直线算法与画圆算法
- ipsec over gre与gre over ipsec
- dubbo源码 -- 服务导出
- adb 黑域app_黑域app|黑域手机工具下载 V1.3_下载 - 偶要下载手机频道
- 计算机科学导论课后总结_1
- Excel ----- 身份证自动判断男女 公式
- volatile能保持线程安全吗_volatile是什么?volatile能保证线程安全性吗?如何正确使用volatile?...
- 《面试补习》--来聊聊削峰填谷!
- 网页视频的下载方法,电脑如何下载网页视频