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 代码效率的方法
Jul 03 Python
详解Python使用simplejson模块解析JSON的方法
Mar 24 Python
python中list列表的高级函数
May 17 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
如何优雅地处理Django中的favicon.ico图标详解
Jul 05 Python
详解Python进阶之切片的误区与高级用法
Dec 24 Python
python IDLE 背景以及字体大小的修改方法
Jul 12 Python
python的faker库用法
Nov 28 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
Dec 06 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
Mar 04 Python
django学习之ajax post传参的2种格式实例
May 14 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
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
数组与类使用PHP的可变变量名需要的注意的问题
2013/06/20 PHP
php判断访问IP的方法
2015/06/19 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
react-native fetch的具体使用方法
2017/11/01 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
详解Python Socket网络编程
2016/01/05 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
对python中的argv和argc使用详解
2018/12/15 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
python如何保证输入键入数字的方法
2019/08/23 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
pyqt5中动画的使用详解
2020/04/01 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
地质灾害防治方案
2014/05/14 职场文书
2015高考寄语集锦
2015/02/27 职场文书
高三物理教学反思
2016/02/20 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript