Не удается закрыть файл PDF, открытый с помощью pdfplumber open()
У меня проблема с закрытием файла, открытого функцией. Всякий раз, когда я звоню
extract_text()
на файловом объекте кажется, что файл открыт даже после того, как
pdfplumber.open()
область, и я могу например. Вызов
close()
на объекте PDF тоже не помогает.
Мой код:
import pdfplumber
import os
class Class():
def method(self, file_url):
with pdfplumber.open(file_url) as pdf:
for page in pdf.pages:
#logic in here
page_text = page.extract_text()
print(pdf.pages[1].extract_text())
pdf.flush_cache()
pdf.close()
print(pdf.pages[1].extract_text())
def main():
dir_path = os.path.dirname(os.path.realpath(__file__))
file_path = dir_path + '/file.pdf'
c = Class()
c.method(file_path)
if __name__=="__main__":
main()
Если я не вызываю объект PDF внутри цикла for, например:
for page in pdf.pages:
#logic in here
pass
он закрывается нормально и
print(pdf.pages[1].extract_text())
бросает
ValueError: seek of closed file
Я что-то упускаю, или
page.extract_text()
каким-то образом кеширует страницы, и мне не о чем беспокоиться? Любой совет будет принят во внимание!