python 实现把日志打印到txt 经常用到不能写到文本、怕乱码最好用的一招

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里面。

posted @ 2020-09-22 17:23  凹凸曼大人  阅读(578)  评论(0)    收藏  举报