您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python Multiprocessing-如何将kwargs传递给函数?

Python Multiprocessing-如何将kwargs传递给函数?

当我运行您的代码时,出现了另一个错误

TypeError: fp() takes at most 3 arguments (5 given)

我通过打印args和kwargs并将方法更改为进行调试,fp(*args, **kwargs)并注意到“ bob_”作为字母数组传入。似乎括号args是可操作的,实际上并没有给您元组。将其更改为列表,然后还numList作为关键字参数传入,使代码我有用。

from multiprocessing import Process, Manager

def fp(name, numList=None, what='no'):
    print ('hello %s %s' % (name, what))
    numList.append(name+'44')

if __name__ == '__main__':

    manager = Manager()

    numList = manager.list()
    for i in range(10):
        keywords = {'what': 'yes', 'numList': numList}
        p = Process(target=fp, args=['bob'+str(i)], kwargs=keywords)
        p.start()
        print("Start done")
        p.join()
        print("Join done")
    print (numList)
python 2022/1/1 18:49:50 有462人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶