Как читать большое количество текстовых файлов из каталога с помощью Python - PullRequest
0 голосов
/ 11 декабря 2018

Я работаю над проектом с использованием Python (3.6) и Django (2), в котором мне нужно прочитать все текстовые файлы из каталога один за другим, я написал код, но он читает только 28 файлов изпапка с 30 текстовыми файлами на данный момент для целей тестирования и выдачи ошибки.

From views.py:

def get_txt_files(base_dir):
    for entry in os.scandir(base_dir):
        if entry.is_file() and entry.name.endswith(".txt"):
            # print(entry.path)
            yield entry.path, entry.name
        elif entry.is_dir():
            yield from get_txt_files(entry.path)
        else:
            print(f"Neither a file, nor a dir: {entry.path}")

for path, name in get_txt_files(obj.textPath):
    print(path)
    sa_response = nlp_text_manager(path, name)

вот функция дляпрочитайте файлы:

def nlp_text_manager(text_path, name):
    text = text_path
    txt = Path(text_path).read_text(encoding='cp1252')
    # then use the files below that.....

И эта ошибка вернется после прочтения 28 файлов:

v = self._sslobj.read (len, buffer)

socket.timeout: Тайм-аут операции чтения

[11 / Dec / 2018 07:16:20] "POST / HTTP /1.1 "500 16416

Количество файлов в предоставленной папке может быть очень большим, если папка имеет размер в ГБ. Итак, каков эффективный питонный способ чтения большого числафайлов из директории?

Заранее спасибо!

...