import sys import os class Logger(object): def __init__(self, filename="Default.log"): self.terminal = sys.stdout self.log = open(filename, "a",errors=‘ignore‘) #a可以改成其他的,不用考虑编码问题 def write(self, message): self.terminal.write(message) self.log.write(message) def flush(self): pass path = os.path.abspath(os.path.dirname(__file__))#例子可删 type = sys.getfilesystemencoding()#例子可删 sys.stdout = Logger(‘a.txt‘) print(path)# print(os.path.dirname(__file__))#例子可删 print(‘------------------‘) #例子可删 #直接复制 就可把结果输出a.txt
直接复制到 输出内容的前面。不用放到 def里面 可以放到class里面。
python 实现把日志打印到txt 经常用到不能写到文本、怕乱码最好用的一招
原文:https://www.cnblogs.com/aotumandaren/p/13713434.html