2022年09月 存档

Python pdfplumber内存泄露问题解决方案

2022年09月25日,星期日

最近用Python的pdfplumber库处理PDF文件,在处理一个1000多页的PDF文件时,内存使用不断飙升,直至把16G内存全部耗尽。

代码除了使用pdfplumber之外,还使用了pandas做数据分析,一开始还以为是pandas部分的代码存在内存泄露,调试了很久才发现是pdfplumber造成的内存泄露。

解决方案在官方的issue中有提到, Memory issues on very large PDFs, 添加如下的代码即可:


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