在使用 pdfplumber 时会出现内存递增的情况, 最终导致内存的爆炸, 这一点在高频率地调用时尤为明显.
本篇主要解决的就是 pdfplumber 这个依赖包所导致的内存泄露问题.

TL;DR

解决方案在官方的issue中有提到, Memory issues on very large PDFsAlto uso de memória/memory leak, 添加如下的代码即可.

with pdfplumber.open("data/my.pdf") as pdf:
    for page in pdf.pages:
        run_my_code()
        page.flush_cache()

另外, 在Stack Overflow的一篇中有提到, 使用 del pdf 来手动清理pdf的残留.

结合以上两种方法, 在实际使用中确实解决了内存不断增加的问题.

Why

现在知道了如何解决这个问题, 但是这个问题又是如何产生的呢? 这是本篇真正需要探索的.

施工中