如何在PYTHON中使循环向多处理任务池添加函数?

2024-04-25 23:26:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一些关于Python多处理的帮助。我希望我的代码从CSV文件的每一行提取一个链接,然后将每个链接输入到函数的一个实例中。我需要这些函数同时运行。目前,我的代码从CSV中提取链接,并将其逐个提供给函数-这意味着在链接函数完成之前不能再启动链接函数。在

我认为可能需要线程或多处理,但我还没有设法使用循环正确地实现它。在

任何帮助将不胜感激!谢谢

links = csv.reader(open('links.csv','r'))
row = list(csv.reader(open('links.csv','r')))
row_count = sum(1 for row in links)
for i in range(0,row_count):
    link = ((str(row[i])).replace("'","")).replace("[","").replace("]","")
    print(link)
    LINKFUNCTIONPROCESS(link)

Tags: 文件csv函数代码infor链接count
1条回答
网友
1楼 · 发布于 2024-04-25 23:26:48

来自this answer

import multiprocessing
p = multiprocessing.Pool()
links = csv.reader(open('links.csv','r'))
row = list(csv.reader(open('links.csv','r')))
row_count = sum(1 for row in links)
for i in range(0,row_count):
    link = ((str(row[i])).replace("'","")).replace("[","").replace("]","")
    print(link)
    p.apply_async(LINKFUNCTIONPROCESS, [link]) 


p.close()
p.join()

相关问题 更多 >