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集合类型用法分析
Apr 08 Python
用Python创建声明性迷你语言的教程
Apr 13 Python
python下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
python中使用序列的方法
Aug 03 Python
python实现人民币大写转换
Jun 20 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
Jun 26 Python
Python3日期与时间戳转换的几种方法详解
Jun 04 Python
Django实现发送邮件功能
Jul 18 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
May 26 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
python中操作文件的模块的方法总结
Feb 04 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中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
由php的call_user_func传reference引发的思考
2010/07/23 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
2014/06/23 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
2016/10/29 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
详解js类型判断
2018/05/22 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
浅谈js闭包理解
2019/04/01 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
微信小程序引入Vant组件库过程解析
2019/08/06 Javascript
JS实现简易日历效果
2021/01/25 Javascript
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
python对文件的操作方法汇总
2020/02/28 Python
使用Python构造hive insert语句说明
2020/06/06 Python
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
企业演讲稿范文
2013/12/28 职场文书
火锅店创业计划书范文
2014/02/02 职场文书
个人查摆剖析材料
2014/02/04 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS