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中文件遍历的两种方法
Jun 16 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
Python实现将不规范的英文名字首字母大写
Nov 15 Python
Python科学计算之Pandas详解
Jan 15 Python
tensorflow中next_batch的具体使用
Feb 02 Python
python游戏地图最短路径求解
Jan 16 Python
python实现图片压缩代码实例
Aug 12 Python
Python 实现的 Google 批量翻译功能
Aug 26 Python
Django数据库操作之save与update的使用
Apr 01 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
Apr 22 Python
Python实现冒泡排序算法的完整实例
Nov 04 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
May 26 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
一个改进的UBB类
2006/10/09 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
PHP使用HTML5 FormData对象提交表单操作示例
2019/07/02 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
jQuery实现简单聊天室
2020/02/08 jQuery
实例讲解React 组件生命周期
2020/07/08 Javascript
wxPython窗口的继承机制实例分析
2014/09/28 Python
python的else子句使用指南
2016/02/27 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
详解python中的 is 操作符
2017/12/26 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
对pandas处理json数据的方法详解
2019/02/08 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
药学专业个人的自我评价
2013/12/31 职场文书
留学推荐信写作指南
2014/01/25 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
2014年工程师工作总结
2014/11/25 职场文书
总账会计岗位职责
2015/04/02 职场文书
确保工程质量承诺书
2015/04/29 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL