Использование pool.map() из многопроцессорной библиотеки lib в python. Вы получите следующую ошибку:
IndexError: string index out of range
Возможно, это из переменной (списка), которая выходит за пределы диапазона? если да, то как я могу его отладить? Там нет объяснения того, где произошла ошибка.
Более подробное описание кода:
(РЕДАКТИРОВАТЬ)
def myFunction(list):
# function contents
for item in list:
# do tasks
with closing(Pool(processes=2)) as pool:
pool.map(myFunction, sublist)
pool.map(myFunction2, sublist2)
Ответ 1
Ответ лежит в моем непонимании метода pool.map(func, iterable)
.
Предыдущая функция myFunction()
использовала цикл for для циклического перемещения по объекту списка. Я оставил это в функции после реализации pool.map()
, поэтому все задачи, которые я тщательно подготовил, шли на другой уровень глубже из-за цикла for
.
Решение было простым случаем удаления цикла for и настройки некоторого кода, чтобы выглядеть более как это:
def myFunction(list):
# do tasks
# for loop contents....
Намного проще, однако я не понял, как использовать метод .map()
в первом месте. Спасибо @dano за то, что вы указали, на что нужно смотреть.