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函数嵌套实例
Sep 23 Python
python中os操作文件及文件路径实例汇总
Jan 15 Python
Python学习小技巧之列表项的拼接
May 20 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
Flask配置Cors跨域的实现
Jul 12 Python
python matplotlib饼状图参数及用法解析
Nov 04 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
python-numpy-指数分布实例详解
Dec 07 Python
Python基础之高级变量类型实例详解
Jan 03 Python
利用Python脚本实现自动刷网课
Feb 03 Python
python如何变换环境
Jul 21 Python
如何解决pycharm调试报错的问题
Aug 06 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
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
详解PHP PDO简单教程
2019/05/28 PHP
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
python和C语言混合编程实例
2014/06/04 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
pandas 获取季度,月度,年度首尾日期的方法
2018/04/11 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
Python @property原理解析和用法实例
2020/02/11 Python
通过实例解析Python return运行原理
2020/03/04 Python
如何基于线程池提升request模块效率
2020/04/18 Python
python 深度学习中的4种激活函数
2020/09/18 Python
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
关于.NET, HTML的五个问题
2012/08/29 面试题
大二自我鉴定范文
2013/10/05 职场文书
大四学生毕业自荐信
2013/11/07 职场文书
家佳咖啡店创业计划书
2013/12/27 职场文书
人力资源部培训专员岗位职责
2014/01/02 职场文书
撤诉申请怎么写
2015/05/19 职场文书
医院消毒隔离制度
2015/08/05 职场文书
关于Vue中的options选项
2022/03/22 Vue.js