项目需要运行程序很久,然后根据输出信息排查错误,因为IDE的控制台和cmd窗口可以只保存当前输出信息的一小部分,前面很远是看不见的,不利于调试。因此,将输出信息保存在本地是非常有必要的,方便回溯错误。这是如何做的。1.重定向标准输出流(适合保存指定打印)f=open('a.txt','w')print('pythonisgood',file=f,flush=True)#如果flush参数不添加,只能在程序结束或f.close时将信息写入文件2.重定向标准输出流(适用于保存所有打印)importsysf=open('a.log','a')#可以使用a.log或者a.txtsys.stdout=f#保存打印输出sys.stderr=f#保存异常或者错误信息...f.flush()#同上,保证前面的语句可以此处运行时被flush保存到文件中,否则只能在程序结束或f.close时写入文件action3.自定义LoggerclassLogger(object):def__init__(self,fileN="Default.log"):self.terminal=sys.stdoutself.log=open(fileN,"a")defwrite(self,message):self.terminal.write(message)self.log.write(message)defflush(self):passimportsyssys.stdout=Logger("./1.txt")#修改参数判断是否er覆盖或追加#下面的所有方法,只要控制台有输出,都会写入到"D:\\1.txt"foriinrange(10):print('coming')https://www.jb51.net/文章/…
