使用py7zlib打开.7z归档文件时内存泄漏

2024-05-06 08:56:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用py7zlib打开并读取存储在.7z存档中的文件。我可以这样做,但它似乎导致了内存泄漏。在使用py7zlib扫描了几百个.7z文件之后,Python会崩溃,并显示MemoryError。在使用内置zipfile库对.zip文件执行等效操作时,我不会遇到这个问题。我对.7z文件的处理过程基本如下(在归档文件中查找具有给定名称的子文件并返回其内容):

with open(filename, 'rb') as f:
    z = py7zlib.Archive7z(f)
    names = z.getnames()
    if subName in names:
        subFile = z.getmember(subName)
        contents = subFile.read()
    else:
        contents = None

return contents

如果有人知道这个物体会泄露出去,为什么会有人知道?我需要遵循什么样的清理或文件关闭程序(比如zipfile库的ZipFile.close.关闭())? 在


Tags: 文件内存名称内容nameswithcontentsopen