python多任务及返回值的处理方法


Posted in Python onJanuary 22, 2019

废话不多说,直接上代码!

# coding:utf-8
from multiprocessing import Pool
import time
 
 
def keywords(title, content, top_n=5):
 print u'关键词提取...'
 print title, content, top_n
 time.sleep(3)
 return 0, [u"晴", u"多云"]
 
 
def category(title, content):
 print u'文本分类...'
 print title, content
 time.sleep(5)
 return 1, [u"天气"]
 
 
def run(title, content):
 keywords_list = []
 category_list = []
 pool = Pool(processes=2)
 q = []
 q.append(pool.apply_async(keywords, args=(title, content, 5)))
 q.append(pool.apply_async(category, args=(title, content)))
 for item in q:
  r = item.get()
  if r[0] == 0:
   keywords_list = r[1]
  elif r[0] == 1:
   category_list = r[1]
 pool.close()
 pool.join()
 
 return category_list, keywords_list
 
if __name__ == "__main__":
 title = u"天气预报"
 content = u"北京今日天气:晴转多云"
 t1 = time.time()
 category_list, keywords_list = run(title, content)
 print "分类结果:", " ".join(category_list)
 print "关键词提取结果", " ".join(keywords_list)
 print time.time() - t1

或者:

# coding:utf-8
from multiprocessing import Pool
import time
 
 
def keywords(title, content, top_n=5):
 print u'关键词提取...'
 print title, content, top_n
 time.sleep(3)
 return 0, [u"晴", u"多云"]
 
 
def category(title, content):
 print u'文本分类...'
 print title, content
 time.sleep(5)
 return 1, [u"天气"]
 
 
def run(title, content):
 keywords_list = []
 category_list = []
 pool = Pool(processes=2)
 q = []
 q.append(pool.apply_async(keywords, args=(title, content, 5)))
 keywords_list = [w["word"] for w in q[0].get()[1]]
 category_list = category(title, content)[1]
 pool.close()
 pool.join()
 
 return category_list, keywords_list
 
if __name__ == "__main__":
 title = u"天气预报"
 content = u"北京今日天气:晴转多云"
 t1 = time.time()
 category_list, keywords_list = run(title, content)
 print "分类结果:", " ".join(category_list)
 print "关键词提取结果", " ".join(keywords_list)
 print time.time() - t1

以上这篇python多任务及返回值的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
探究python中open函数的使用
Mar 01 Python
jupyter安装小结
Mar 13 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
使用C++扩展Python的功能详解
Jan 12 Python
详谈python3中用for循环删除列表中元素的坑
Apr 19 Python
对python产生随机的二维数组实例详解
Dec 13 Python
Python数据抓取爬虫代理防封IP方法
Dec 23 Python
Django基础三之视图函数的使用方法
Jul 18 Python
python argparser的具体使用
Nov 10 Python
wxPython修改文本框颜色过程解析
Feb 14 Python
Django中ORM的基本使用教程
Dec 22 Python
pytorch中[..., 0]的用法说明
May 20 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 #Python
python自动发送测试报告邮件功能的实现
Jan 22 #Python
python3去掉string中的标点符号方法
Jan 22 #Python
在Python中将函数作为另一个函数的参数传入并调用的方法
Jan 22 #Python
python3.4爬虫demo
Jan 22 #Python
使用Template格式化Python字符串的方法
Jan 22 #Python
python实现公司年会抽奖程序
Jan 22 #Python
You might like
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
Javascript window对象详解
2014/11/12 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
Python标准库与第三方库详解
2014/07/22 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
小学少先队活动方案
2014/02/18 职场文书
2014年创卫实施方案
2014/02/18 职场文书
四查四看整改措施
2014/09/19 职场文书
2014年审计工作总结
2014/11/17 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL