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 迭代器工具包【推荐】
May 06 Python
Python基于贪心算法解决背包问题示例
Nov 27 Python
Python中顺序表的实现简单代码分享
Jan 09 Python
解决python爬虫中有中文的url问题
May 11 Python
Matplotlib中文乱码的3种解决方案
Nov 15 Python
python整小时 整天时间戳获取算法示例
Feb 20 Python
python使用Plotly绘图工具绘制柱状图
Apr 01 Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 Python
Python 定义只读属性的实现方式
Mar 05 Python
Python新手学习函数默认参数设置
Jun 03 Python
PyCharm最新激活码PyCharm2020.2.3有效
Nov 18 Python
python实现双向链表原理
May 25 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
PHP SEO优化之URL优化方法
2011/04/21 PHP
深入php之规范编程命名小结
2013/05/15 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
如何在PHP中使用数组
2020/06/09 PHP
JsRender for index循环索引用法详解
2014/10/31 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
js添加千分位的实现代码(超简单)
2016/08/01 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
JS验证码实现代码
2017/09/14 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
python遍历类中所有成员的方法
2015/03/18 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
详解python statistics模块及函数用法
2019/10/27 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
十八届三中全会报告学习材料
2014/02/17 职场文书
党校学习自我鉴定
2014/02/24 职场文书
2013年最新自荐信范文
2014/06/23 职场文书
小学综合实践活动总结
2014/07/07 职场文书
解除劳动合同协议书范本
2014/09/13 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
护理实习生带教计划
2015/01/16 职场文书
家装业务员岗位职责
2015/04/03 职场文书
Nginx速查手册及常见问题
2022/04/07 Servers