multiprocessing: TypeError: 'int' object is not iterable
multiprocessing: TypeError: 'int' object is not iterable
我在 Python 3 中使用 multiprocessing
模块,但由于某些原因,当我 运行 程序时它一直抛出 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()
我不明白为什么会这样,有人可以帮我解决这个问题吗?
不是 TypeError: 'int' object is not iterable 的重复,因为它是同一个错误,是的,但它的原因不同,请在尝试将此问题标记为重复之前阅读 question/code。
p = Process(target=main, args=p_number)
args
需要是一个元组,但你给它一个整数。尝试:
p = Process(target=main, args=(p_number,))
我在 Python 3 中使用 multiprocessing
模块,但由于某些原因,当我 运行 程序时它一直抛出 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()
我不明白为什么会这样,有人可以帮我解决这个问题吗?
不是 TypeError: 'int' object is not iterable 的重复,因为它是同一个错误,是的,但它的原因不同,请在尝试将此问题标记为重复之前阅读 question/code。
p = Process(target=main, args=p_number)
args
需要是一个元组,但你给它一个整数。尝试:
p = Process(target=main, args=(p_number,))