python 信息同时输出到控制台与文件的实例讲解


Posted in Python onMay 11, 2018

python编程中,往往需要将结果用print等输出,如果希望输出既可以显示到IDE的屏幕上,也能存到文件中(如txt)中,该怎么办呢?

方法1

可通过日志logging模块输出信息到文件或屏幕。但可能要设置log的level或输出端,对于同时需要记录debug error等信息的较为合适,官方教程推荐学习用更规范的logger来操作。

例如,可参考来自官网的这段代码。

import logging
logging.basicConfig(filename='log_examp.log',level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')

方法2

利用print输出两次

比如这里我想输出程序的path和程序的文件名

import os
# 第一句输出到consle:
print("filepath:",__file__,"\nfilename:",os.path.basename(__file__))
# 第二句输出到txt:
with open("outputlog.txt","a+") as f:
 print("filepath:",__file__,
 "\nfilename:",os.path.basename(__file__))
 #当然 也可以用f.write("info")的方式写入文件

方法3

利用输出重定向输出两次

同样输出程序path和文件名

import os
import sys
temp=sys.stdout # 记录当前输出指向,默认是consle
with open("outputlog.txt","a+") as f:
 sys.stdout=f # 输出指向txt文件
 print("filepath:",__file__,
 "\nfilename:",os.path.basename(__file__))
 print("some other information")
 print("some other")
 print("information")
 sys.stdout=temp # 输出重定向回consle
 print(f.readlines()) # 将记录在文件中的结果输出到屏幕

R的重定向

这里多嘴补充一下,在windows下的R语言中,有个sink(‘文件名.后缀名') 可以将输出重定向到文件中,然后用sink()重返控制台 很是方便

以上这篇python 信息同时输出到控制台与文件的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的pprint折腾记
Jan 21 Python
对numpy中布尔型数组的处理方法详解
Apr 17 Python
python+pyqt5实现24点小游戏
Jan 24 Python
Python中整数的缓存机制讲解
Feb 16 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
python实现微信每日一句自动发送给喜欢的人
Apr 29 Python
Pyqt QImage 与 np array 转换方法
Jun 27 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
基于Pytorch SSD模型分析
Feb 18 Python
Python如何实现的二分查找算法
May 27 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 Python
python APScheduler执行定时任务介绍
Apr 19 Python
解决python nohup linux 后台运行输出的问题
May 11 #Python
解决nohup重定向python输出到文件不成功的问题
May 11 #Python
python抽取指定url页面的title方法
May 11 #Python
python清除字符串中间空格的实例讲解
May 11 #Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
May 11 #Python
Python中的TCP socket写法示例
May 11 #Python
Python简单定义与使用二叉树示例
May 11 #Python
You might like
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
在线短消息收发的程序,不用数据库
2006/10/09 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
Python函数中定义参数的四种方式
2014/11/30 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
答题辅助python代码实现
2018/01/16 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
python3的pip路径在哪
2020/06/23 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
土木工程毕业生自荐信
2013/11/12 职场文书
数控专业推荐信范文
2013/12/02 职场文书
学校门卫工作职责
2013/12/07 职场文书
自我反省检讨书
2014/01/23 职场文书
庆祝教师节活动方案
2014/01/31 职场文书
三方股份合作协议书
2014/10/13 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
学校远程教育工作总结
2015/08/11 职场文书
Go遍历struct,map,slice的实现
2021/06/13 Golang