Python Multiprocessing на генераторе, который считывает файлы вPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Multiprocessing на генераторе, который считывает файлы в

Сообщение Anonymous »

Я пытаюсь прочитать и обработать 1000 файлов, но, к сожалению, требуется около 3 раза, чтобы обработать файл, как и для чтения его с диска, поэтому я хотел бы обработать эти файлы, как они читаются (и, хотя я продолжаю читать в дополнительных файлах). < /p>

В идеальном мире у меня есть генератор, который считывает по одному файлу за раз, и я хотел бы передать этот генератор в пул работников, которые обрабатывают элементы из генератора, поскольку они (медленно) сгенерируются.def process_file(file_string):
...
return processed_file

pool = Pool(processes=4)
path = 'some/path/'
results = pool.map(process_file, (open(path+part,'rb').read() for part in os.listdir(path)))
< /code>

Единственная проблема с кодом выше заключается в том, что все файлы читаются в память до начала пула, что означает, что мне нужно ждать диска, чтобы прочитать все, и я также потребляю большое количество памяти.

Подробнее здесь: https://stackoverflow.com/questions/341 ... s-files-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»