Я пытаюсь записать текстовый файл в режиме добавления.Метод write () вызывается в функции, которая выполняется посредством многопроцессорной обработки.Я закрываю файл в самом конце кода, думая, что все будет написано до его закрытия.Но то, что происходит, совершенно противоположно.Файл закрывается в каждом процессе.Я хочу закрыть его после завершения всех процессов.
Вот как я это делаю.
import concurrent.futures
f = open('input.txt', 'a')
pairs = ['pair1', 'pair2', 'pair3', 'pair4', 'pair5']
def validity_check(pair):
f.write(f'{pair}\n')
if __name__ == '__main__':
with concurrent.futures.ProcessPoolExecutor() as executor:
idx = 0
while True:
executor.map(validity_check, pairs[idx:idx + 5])
idx = idx + 5
if idx >= len(pairs):
break
f.close()
Я хочу, чтобы все пары были записаны в файл до его закрытия.Спасибо!