Я работаю над проектом с использованием 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
Количество файлов в предоставленной папке может быть очень большим, если папка имеет размер в ГБ. Итак, каков эффективный питонный способ чтения большого числафайлов из директории?
Заранее спасибо!