Параллельное извлечение PDF в Python через concurrent.futures - PullRequest
0 голосов
/ 04 марта 2020

Я использую Python3 .8, следующий код (пытаясь ускорить одновременное извлечение pdf-файлов):

import time
import concurrent.futures
from imports import *

dir_name = "concurrent_data"

def extract_simple(fname):
    text_bytes = textract.process(
            fname, encoding="1250", method="tesseract", language="pol"
        )
    text_string = text_bytes.decode("1250")
    text_string = text_string.replace("-\n", "").replace("\n", " ")
    return text_string



urls_list = [dir_name + "/doc" + str(x) + ".pdf" for x in range(16)]

start = time.time()

with concurrent.futures.ThreadPoolExecutor(max_workers = 4) as executor:
    result = executor.map(extract_simple, urls_list)

end = time.time()

print(f"Time: {end - start:.2f}s\n")

textract.process извлекает текст из PDF в виде байтов, допустимые пути, последовательная версия Программа работает правильно, но выше, кажется, я oop навсегда (я убиваю его в терминале), какие-нибудь идеи?

...