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