多处理:TypeError:'int'对象不可迭代

sil*_*oid 3 python multiprocessing python-3.x

multiprocessing在Python 3中使用该模块但由于某种原因,它TypeError: 'int' object is not iterable在我运行程序时不断抛出.这就是我做的:

def main(i):
    global urlDepth
    global row
    global counter
    urlDepth = []
    row = 0
    counter = 0
    login(i)
    crawler(MENU_URL)


if __name__ == '__main__':
    workers = 2
    processes = []
    for p_number in range(workers):
        p = Process(target=main, args=p_number)
        p.start()
        processes.append(p)

    for p in processes:
        p.join()
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样,有人可以帮助我吗?

不是TypeError的重复:'int'对象不可迭代,因为它是相同的错误,是的,但它有不同的原因,请在尝试将此问题标记为重复之前阅读问题/代码.

Kev*_*vin 12

p = Process(target=main, args=p_number)
Run Code Online (Sandbox Code Playgroud)

args需要是一个元组,但你给它一个整数.尝试:

p = Process(target=main, args=(p_number,))
Run Code Online (Sandbox Code Playgroud)