【发布时间】:2021-12-22 01:38:48
【问题描述】:
使用 pdfplumber 从大型 pdf 文件中提取文本会导致崩溃。
with pdfplumber.open("data/my.pdf") as pdf:
for page in pdf.pages:
**do something**
【问题讨论】:
标签: python garbage-collection pdfplumber
使用 pdfplumber 从大型 pdf 文件中提取文本会导致崩溃。
with pdfplumber.open("data/my.pdf") as pdf:
for page in pdf.pages:
**do something**
【问题讨论】:
标签: python garbage-collection pdfplumber
在以下位置找到解决方案: https://github.com/jsvine/pdfplumber/issues/193 新:
with pdfplumber.open("data/my.pdf") as pdf:
for page in pdf.pages:
run_my_code()
page.flush_cache()
旧:
with pdfplumber.open("data/my.pdf") as pdf:
for page in pdf.pages:
run_my_code()
del page._objects
del page._layout
这两个似乎是每个循环后最有责任占用内存的一个,删除它可以帮助不占用计算机内存。
如果这不起作用,请尝试强制垃圾收集器清理它们。
import gc
with pdfplumber.open("data/my.pdf") as pdf:
for page in pdf.pages:
run_my_code()
del page._objects
del page._layout
gc.collect()
【讨论】: