Python и multiprocessing Pool зашел в тупик

Всем доброго времени суток зашел в тупик со скриптом. Подскажите как передать название файла который записывается в цикле в переменную ListUrl в функцию fun?

resultUrl = sorted(glob.glob("*.csv")) # Получаю список файлов csv
for ListUrl in resultUrl:
  list = list_url(ListUrl) # Собираю список из url из файла csv
  with Pool(10) as p: # Создаю пул
    p.map(fun, list) # Отправляю url в функцию. В функции отправляю http запрос собираю данные и записываю в файл
  Email(ListUrl) # Отправляю отчет на email

Ответы (1 шт):

Автор решения: CrazyElf

Можно использовать, например, partial. Обратите внимание, что "прошиваемый" через partial параметр идёт вторым у функции, иначе работать не будет:

from multiprocessing import Pool
from functools import partial

def fun(lst, fname):
    print(fname, lst)

...
fun_fname = partial(fun, fname=ListUrl)
with Pool(10) as p: # Создаю пул
  p.map(fun_fname, list)

Кстати, list - это плохое название переменной, оно перекрывает встроенный питоновский объект list, не надо так делать.

→ Ссылка