pdfplumber 内存占用(大 pdf 文件崩溃)
pdfplumber memory hogging (crash with large pdf files)
使用 pdfplumber 从大型 pdf 文件中提取文本会导致崩溃。
with pdfplumber.open("data/my.pdf") as pdf:
for page in pdf.pages:
**do something**
解决方案发现于:
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()
使用 pdfplumber 从大型 pdf 文件中提取文本会导致崩溃。
with pdfplumber.open("data/my.pdf") as pdf:
for page in pdf.pages:
**do something**
解决方案发现于: 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()