4
이 질문은 중복 될 수 있습니다. 그러나이 주제에 관해 많은 내용을 읽었으며 제 사례와 일치하는 항목을 찾지 못했습니다. 또는 적어도 이해하지 못했습니다.파이썬 다중 처리 - dicts 목록을 풀로 전달
불편을 끼쳐 드려 죄송합니다.
내가하려고하는 것은 상당히 일반적이며, pool.starmap()에 kwargs 목록을 전달하여 다중 처리를 달성합니다.
가 여기 내 감소 사건 : 나는 Starmap 교육을 (가정
def compute(firstArg, **kwargs): # A function that does things
# Fancy computing stuff...
# Saving to disk...
return True
if __name__ == '__main__':
args = [{
'firstArg': "some data",
'otherArg': "some other data"
'andAnotherArg': x*2
} for x in range(42)]
pool = Pool(4)
pool.starmap(compute, args)
pool.close()
pool.terminate()
)을 DICT의 포장을 풀고는()와 같은 키워드 인수를 계산하기 위해 통과하지만, source code 보는 것입니다 (참조 또한 l.46)을 키 (또는 값?) 만 보냅니다.
은 그래서 제기
TypeError: compute() takes 1 positional argument but 3 were given
그것은이 작업을 수행하려면 명확하고 정직 방법이 있어야합니다 ... 어떤 도움을 주시면 감사하겠습니다.
여기 꽤 비슷한 질문 : Python Multiprocessing - How to pass kwargs to function?
좋아요! 그냥 람다에서 사용했는데, 완벽했습니다. 도움 주셔서 감사합니다. –