У меня есть эта функция, которая возвращает словарь с именами элементов списка, как показано здесь:
lista =['GILDIKNK','MENIA']
dic={}
def nome_arquivos(lista_fragmentos):
for elemento in lista_fragmentos:
indice = "fragmento_" + str(lista_fragmentos.index(elemento)+1)
dic[indice] = elemento
print(dic)
nome_arquivos(lista)
В данном случае вывод (и это то, что я хочу):
{'fragmento_1': 'GILDIKNK', 'fragmento_2': 'MENIA'}
Тем не менее, я пытаюсь вставить многопроцессорность, для больших проблем. Это мой код:
from multiprocessing.pool import ThreadPool
import time
lista =['GILDIKNK','MENIA']
dic={}
def nome_arquivos(lista_fragmentos):
for elemento in lista_fragmentos:
indice = "fragmento_" + str(lista_fragmentos.index(elemento)+1)
dic[indice] = elemento
print(dic)
def pool_handler():
pool = ThreadPool(4)
results = pool.map(nome_arquivos, lista)
if __name__ == '__main__':
pool_handler()
Вывод:
{'fragmento_1': 'G', 'fragmento_2': 'I', 'fragmento_3': 'L', 'fragmento_4': 'D',
'fragmento_6': 'K', 'fragmento_7': 'N'}{'fragmento_1': 'M', 'fragmento_2': 'E',
'fragmento_3': 'N', 'fragmento_4': 'I', 'fragmento_6': 'K', 'fragmento_7': 'N',
'fragmento_5': 'A'}
Что я делаю не так?