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发送邮件的实例代码(支持html、图片、附件)
Mar 04 Python
Python和C/C++交互的几种方法总结
May 11 Python
Python实现自动上京东抢手机
Feb 06 Python
pandas中去除指定字符的实例
May 18 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
Jun 13 Python
python bmp转换为jpg 并删除原图的方法
Oct 25 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
python绘制动态曲线教程
Feb 24 Python
python 基于opencv实现高斯平滑
Dec 18 Python
Python 如何安装Selenium
May 06 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 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学习笔记(毕业设计)
2012/02/21 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
用javascript获取textarea中的光标位置
2008/05/06 Javascript
JavaScript入门教程(8) Location地址对象
2009/01/31 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
django如何自己创建一个中间件
2019/07/24 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
关于Python-faker的函数效果一览
2019/11/28 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
python代码区分大小写吗
2020/06/17 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
python Selenium 库的使用技巧
2020/10/16 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
存储过程和函数的区别
2013/05/28 面试题
护士自我鉴定
2013/10/23 职场文书
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
读书小明星事迹材料
2014/05/03 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
部队2014年终工作总结
2014/11/27 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python