本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
python的print输出在控制台并且将输出内容保存为文件(最新推荐)
BilyLiang · 134浏览 · 发布于2023-01-30 +关注

这篇文章主要介绍了python的print输出在控制台并且将输出内容保存为文件,我感觉就是类似于重写一下调用print的时候执行的方法,让他既能够在控制台输出,也能保存到文件里去,需要的朋友可以参考下

前言

深度学习log日志还是蛮重要的,print出来还不够,还得保存一下,目前找到的最方便的就如下所示了。

实现思路

我感觉就是类似于重写一下调用print的时候执行的方法,让他既能够在控制台输出,也能保存到文件里去

实现方法

定义一个Logger类

import sys  # 需要引入的包
 
# 以下为包装好的 Logger 类的定义
class Logger(object):
    def __init__(self, filename="Default.log"):
        self.terminal = sys.stdout
        self.log = open(filename, "w", encoding="utf-8")  # 防止编码错误
 
    def write(self, message):
        self.terminal.write(message)
        self.log.write(message)
 
    def flush(self):
        pass

计算时间戳,用于当我们的文件名,这样就不容易重名,方便数据的保存

import time 
t = time.strftime("-%Y%m%d-%H%M%S", time.localtime())  # 时间戳
filename = 'log' + t + '.txt'

紧接着需要实例化对象:

log = Logger(filename)

然后将sys里的东西偷偷换成我们写的:

print("hi icy hunter")

接下来为所欲为的print就行了

print("hi icy hunter")

完整代码:

import sys  # 需要引入的包
 # 以下为包装好的 Logger 类的定义
class Logger(object):
    def __init__(self, filename="Default.log"):
        self.terminal = sys.stdout
        self.log = open(filename, "w", encoding="utf-8")  # 防止编码错误
     def write(self, message):
        self.terminal.write(message)
        self.log.write(message)
     def flush(self):
        pass
 import time 
t = time.strftime("-%Y%m%d-%H%M%S", time.localtime())  # 时间戳
filename = 'log' + t + '.txt'
 log = Logger(filename) 
sys.stdout = log
 print("hi icy hunter")

放到.py里运行一下:
控制台输出:

在这里插入图片描述

在这里插入图片描述

生成了这么个文件
点开看看:

在这里插入图片描述

嗯,是我想要的结果了。

ps:发现在ipynb里运行好像文件为空,可能是线程没结束,还没来得及写吧,不太清楚,不过要是用ipynb应该就不愁保存print了吧…


相关推荐

PHP实现部分字符隐藏

沙雕mars · 1325浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 908浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 970浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 962浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 1086浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
我是湖南最靓仔的那条仔,希望来到这里能够交道志同道合的朋友,一起学习,不断进步!!!
分类专栏
小鸟云服务器
扫码进入手机网页