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类继承用法实例分析
Oct 10 Python
Python实现模拟登录及表单提交的方法
Jul 25 Python
一篇文章入门Python生态系统(Python新手入门指导)
Dec 11 Python
浅谈Python基础之I/O模型
May 11 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
Nov 17 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
Python实现的端口扫描功能示例
Apr 08 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
利用Python查看微信共同好友功能的实现代码
Apr 24 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
利用Python计算KS的实例详解
Mar 03 Python
python通配符之glob模块的使用详解
Apr 24 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 上传文件的方法(类)
2009/07/30 PHP
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
nodejs爬虫抓取数据之编码问题
2015/07/03 NodeJs
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
Bootstrap Paginator分页插件使用方法详解
2016/05/30 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
AngularJS+Bootstrap实现多文件上传与管理
2016/11/08 Javascript
树结构之JavaScript
2017/01/24 Javascript
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
Python中几种操作字符串的方法的介绍
2015/04/09 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
使用python加密自己的密码
2015/08/04 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
详解python tkinter 图片插入问题
2020/09/03 Python
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
厕所文明标语
2014/06/11 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
小学生读书笔记
2015/07/01 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
pandas取dataframe特定行列的实现方法
2021/05/24 Python
vue-cropper组件实现图片切割上传
2021/05/27 Vue.js
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript