我正在编写一个日志解析器,它解析几百个日志文件并将stat写入单个CSV文件。如何确保此CSV文件在Parser Class对象的生命周期内保持打开状态。
到目前为止我的代码片段:
class LogParser():
def __init__(self):
self.stats_file = open('out.csv', 'a+')
def analyze_log(self, logfile):
with open(logfile, 'r') as f:
# do stuff to read stats from file
self.stats_file.write(stats)
def __del__(self):
self.stats_file.close()
在python中清理资源(例如套接字,文件或数据库连接)的首选方法是什么?
我尝试查看上下文管理器或上下文装饰器来处理这个用例,但这似乎适用于函数/方法的生命周期。我在这里错过了什么吗?