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的框架下的web app的详细教程
Apr 30 Python
Python 中pandas.read_excel详细介绍
Jun 23 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
Nov 11 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
hmac模块生成加入了密钥的消息摘要详解
Jan 11 Python
Python多线程threading和multiprocessing模块实例解析
Jan 29 Python
Python线程下使用锁的技巧分享
Sep 13 Python
Python编程flask使用页面模版的方法
Dec 28 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
Python request操作步骤及代码实例
Apr 13 Python
python相对企业语言优势在哪
Jun 12 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
adodb与adodb_lite之比较
2006/12/31 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP链表操作简单示例
2016/10/15 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
js获取form的方法
2015/05/06 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
python实现多线程行情抓取工具的方法
2018/02/28 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
tensorflow实现测试时读取任意指定的check point的网络参数
2020/01/21 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
执行Python程序时模块报错问题
2020/03/26 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
《白鹅》教学反思
2014/04/13 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
商品陈列协议书
2014/09/29 职场文书
老人节标语大全
2014/10/08 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
使用CSS实现音波加载效果
2023/05/07 HTML / CSS