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 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
python通过线程实现定时器timer的方法
Mar 16 Python
python 提取tuple类型值中json格式的key值方法
Dec 31 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
python 实现批量替换文本中的某部分内容
Dec 13 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
Jun 18 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
Jul 01 Python
python爬虫中采集中遇到的问题整理
Nov 27 Python
python help函数实例用法
Dec 06 Python
Python 全局空间和局部空间
Apr 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
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
servlet+jquery实现文件上传进度条示例代码
2017/01/25 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
Python之os操作方法(详解)
2017/06/15 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
python使用pipeline批量读写redis的方法
2019/02/18 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
财务管理专业推荐信
2013/11/19 职场文书
表扬信格式模板
2015/05/05 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS