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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
Python break语句详解
Mar 11 Python
用Python程序抓取网页的HTML信息的一个小实例
May 02 Python
python算法表示概念扫盲教程
Apr 13 Python
python实现的AES双向对称加密解密与用法分析
May 02 Python
Python探索之自定义实现线程池
Oct 27 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
python实现输入数字的连续加减方法
Jun 22 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
Aug 23 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
Python+tkinter实现高清图片保存
Mar 13 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 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 IN_ARRAY 函数使用注意事项
2010/07/24 PHP
PHP加密解密类实例代码
2016/07/20 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
splice slice区别
2006/10/09 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
Javascript 对cookie操作详解及实例
2016/12/29 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
Vue 配合eiement动态路由,权限验证的方法
2018/09/26 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
python&MongoDB爬取图书馆借阅记录
2016/02/05 Python
Python对象转JSON字符串的方法
2016/04/27 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
python 生成正态分布数据,并绘图和解析
2020/12/21 Python
python中操作文件的模块的方法总结
2021/02/04 Python
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
公司新年寄语
2014/04/04 职场文书
2015年中个人总结范文
2015/03/10 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
公积金具结保证书
2015/05/11 职场文书
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript
MySQL视图概念以及相关应用
2022/04/19 MySQL