python执行多进程时,如何获取函数返回的值

python执行多进程时,如何获取函数返回的值,第1张

共享变量的方法。

没有办法直接实现你的需求,但是,你可以用共享变量的方法实现,比如:

def worker(procnum, return_dict):

'''worker function'''

print str(procnum) + ' represent!'

return_dict[procnum] = procnumif __name__ == '__main__':

manager = Manager()

return_dict = managerdict()

jobs = []    for i in range(5):

p = multiprocessingProcess(target=worker, args=(i,return_dict))

jobsappend(p)

pstart()    for proc in jobs:

procjoin()    print return_dictvalues()

在if 里只需要yield "wwwbaiducom" + item_urlattrs['href']

然后Lsit(最好改可名,在python规范里,函数命名是全小写,而list又是保留字,比如改为display_hrefs)只需要循环输出getUrl的结果就好:

def getUrl(url: str):

html = urlopen(url)

for item_url in BeautifulSoup((htmlread())find ('div' , class_='AAA')findAll ("a"):

if 'href' in item_urlattrs:

yield "wwwbaiducom" + item_urlattrs['href']

def display_hrefs(url: str):

for href in getUrl(url):

print(href)

if __name__ == '__main__':

display_hrefs("http://wwwbaiducom")

题主你好,

每门语言中都有自己语法, python中return关键字的用法是:

   

也就是说return后面要接的是表达式, 但如果按题主所说的,写成:

要注意 "person = {xxx}" 这是一个语句, 而非一个表达式, 和python中定义的return语法是相背的,所以不能这么写

希望可以帮到题主, 欢迎追问

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13493636.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存