文件句柄,用于对象的生命周期

时间:2018-03-14 21:23:41

标签: python-3.x file-handling

我正在编写一个日志解析器,它解析几百个日志文件并将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中清理资源(例如套接字,文件或数据库连接)的首选方法是什么?

我尝试查看上下文管理器或上下文装饰器来处理这个用例,但这似乎适用于函数/方法的生命周期。我在这里错过了什么吗?

0 个答案:

没有答案