コンソールの内容をtxtファイルに出力します。

txtファイルに入力するたびに、すべてのデータではなく、最後のデータまたは開始したばかりのデータだけが存在するため、非常に面倒です

良いコードを見つけました。最初に言っておきますが、直接コピーして貼り付けました。

import sys, os, time

# log recorder
class Logger(object):

    def __init__(self, stream=sys.stdout):
        output_dir = "./75_logpool/"  # folder 
        if not os.path.exists(output_dir):
            os.makedirs(output_dir)
        #log_name = '{}.txt'.format(time.strftime('%Y-%m-%d-%H-%M',time.localtime(time.time())))
        log_name_time = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
        log_name = log_name_time + ".txt"
        filename = os.path.join(output_dir, log_name)

        self.terminal = stream
        self.log = open(filename, 'a+')

    def write(self, message):
        self.terminal.write(message)
        self.log.write(message)

    def flush(self):
        pass

以下は呼び出されるメイン関数コードです。

sys.stdout = Logger(sys.stdout)  # record log
sys.stderr = Logger(sys.stderr)  # record error 

以下は他の人のコンテンツです、
ここに画像の説明を挿入
このブログの内容は私が書いたものなので直接スクリーンショットを撮りましたが、一部他の人のものから借用したものであるため、私が書いたブログはオリジナルであると今でも言います、ありがとう!

参考にしたブログアドレスは以下の通りです。

https://zhuanlan.zhihu.com/p/561010832

おすすめ

転載: blog.csdn.net/qq_44666320/article/details/129385066