Иногда мне нужно использовать многопроцессорность с функциями без аргументов. Я хотел бы сделать что-то вроде:Могу ли я использовать map/imap/imap_unordered с функциями без аргументов?
from multiprocessing import Pool
def f(): # no argument
return 1
# TypeError: f() takes no arguments (1 given)
print Pool(2).map(f, range(10))
я мог сделать Process(target=f, args=())
, но я предпочитаю синтаксис map
/imap
/imap_unordered
. Есть ли способ сделать это?
Вы хотели бы переопределить 'f', чтобы принять один аргумент и проигнорировать его? – inspectorG4dget
@ inspectorG4dget: нет, я бы предпочел избежать этого –
У меня такое ощущение, что это проблема [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Итак, давайте сделаем шаг назад: что вы на самом деле пытаетесь сделать, для чего вы пытаетесь использовать эту функцию? – inspectorG4dget