Допустим, у меня есть каталог, в котором есть 20 файлов:
path1 = "/path/to/data"
dir1 = os.listdir(path1)
Эти 20 файлов в основном представляют собой 20 плиток большой сетки. Я загружаю каждый из них по отдельности, запускаю процесс и объединяю их после завершения процесса. Общий процесс выглядит так:
finaldata = []
alldata = []
loopdata = []
for i in dir1:
loopdata = np.load(i)
alldata = run_process(loopdata)
if len(finaldata) == 0:
finaldata = alldata
else:
finaldata = np.concatenate((finaldata,alldata))
Что даст мне то, что я хочу, но это довольно медленно. Однако в python доступны опции многопроцессорной обработки и многопоточности, которые потенциально могут разделить обработку на 20 различных процессов, а затем в конце правильно объединить результаты. Как бы что-то вроде этой работы в Python 3.6 +?