你是否遇到过这样几个问题:
1、获取控制台打印的内容,并且想要保存下来
2、代码本来运行的好好的,但是由于新增内容,出现bug,加入了异常处理(try...),把不满足条件的先过滤掉、这时需要查看过滤的内容并且保存文件
3、。。。。。。
其实打印日志很简单,只需要在你的代码最前面加入短短几行代码就可以轻松搞定。
这里我们用到了sys模块,不了解的可以上网查一查这个模块。
import sys#日志打印class Logger(object):def __init__(self, filename='default.log', stream=sys.stdout):self.terminal = streamself.log = open(filename, 'w')def write(self, message):self.terminal.write(message)self.log.write(message)def flush(self):pass#保存日志sys.stdout = Logger(r'D:\英雄时刻\爬虫\web_test\a.log', sys.stdout)sys.stderr = Logger(r'D:\英雄时刻\爬虫\web_test\a.log_file', sys.stderr)
附加:
如何遍历文件夹
# 遍历文件夹def walkFile(file):for root, dirs, files in os.walk(file):# root 表示当前正在访问的文件夹路径# dirs 表示该文件夹下的子目录名list# files 表示该文件夹下的文件list# 遍历文件list=[]for f in files:# print(os.path.join(root, f))list.append(os.path.join(root, f))# 遍历所有的文件夹for d in dirs:print(os.path.join(root, d))return list