Напишите файл, используя apply_async - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь использовать многопроцессорность для записи содержимого terminology_list (большой список, содержащий 19 миллионов элементов) в файл. Поскольку нас не волнует порядок, я попытался использовать apply_async:

from multiprocessing import Pool

def terminology_write(terminology, to_file):
    to_file.write(terminology.lower()+'\n')

if __name__=='__main__':
    pool = Pool(4)
    with open('async_write_file.txt','w') as to_file:
        for term in terminology_list:
            pool.apply_async(terminology_write, args = (term,to_file,))
    pool.close()
    pool.join()

Процедура может быть выполнена, но ничего не записано в async_write_file.txt. Вы знаете, почему это случилось? Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...