我在Python 3中使用多处理模块但由于某种原因,它一直在抛出TypeError:当我运行程序时,’int’对象不可迭代.这就是我做的:
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()
我不明白为什么会这样,有人可以帮助我吗?
不是TypeError: ‘int’ object is not iterable的重复,因为它是相同的错误,是的,但它有不同的原因,请在尝试将此问题标记为重复之前阅读问题/代码.
解决方法:
p = Process(target=main, args=p_number)
args需要是一个元组,但你给它一个整数.尝试:
p = Process(target=main, args=(p_number,))
标签:python,python-3-x,multiprocessing