python输出到控制台和文件_python 信息同时输出到控制台与文件的实例讲解

本文介绍了Python编程中如何将输出同时显示到控制台和保存到文件,包括使用logging模块、直接调用print两次以及输出重定向的方法。示例代码详细展示了如何实现这一功能。
摘要由CSDN通过智能技术生成

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同时向控制台和文件输出日志logging的方法

python 通过logging写入日志到文件和控制台的实例

Python3基础之输入和输出实例分析

Python实现文件信息进行合并实例代码

Python之批量创建文件的实例讲解

时间: 2018-05-08

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值