怎么在python中利用多进程提取处理大量文本的关键词

  介绍

怎么在python中利用多进程提取处理大量文本的关键词?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强>代码如下:

#编码:utf - 8   import 系统   重载(系统)   sys.setdefaultencoding (“utf-8")   得到multiprocessing  import 池,队列的过程   import  multiprocessing  as  mp    import 时间,随机的   import 操作系统   import 编解码器   import  jieba.analyse   jieba.analyse.set_stop_words (“yy_stop_words.txt")   def  extract_keyword (input_string):   #打印(“Do  task  by  process  {proc}“.format (proc=os.getpid ()))   时间=tags  jieba.analyse.extract_tags (input_string, topK=100)   #打印(“key 词:{千瓦}“.format (kw=?“. join(标签)))   return 标签   # def  parallel_extract_keyword (input_string out_file):   def  parallel_extract_keyword (input_string):   #打印(“Do  task  by  process  {proc}“.format (proc=os.getpid ()))   时间=tags  jieba.analyse.extract_tags (input_string, topK=100)   # time . sleep (random.random ())   #打印(“key 词:{千瓦}“.format (kw=?“. join(标签)))=# o_f 开放(out_file & # 39; w # 39;)   # o_f.write (“,“. join(标签)+“\ n")   return 标签   if  __name__ ==,“__main__":   时间=data_file  sys.argv [1]   with  codecs.open (data_file), as  f:   时间=lines  f.readlines ()   f.close ()      时间=out_put  data_file.split(& # 39;强生# 39;)[0],+“_tags.txt",   时间=t0  time.time ()   for  line 拷贝:   parallel_extract_keyword(线)   out_put # parallel_extract_keyword(线)   # extract_keyword(线)   print(“串行处理花费时间{t}“.format (t=time.time (t0))      pool =,池(过程=int (mp.cpu_count () * 0.7))   时间=t1  time.time ()   # for  line 拷贝:   # pool.apply_async (parallel_extract_keyword(线,out_put))   #保存处理的结果,可以方便输出到文件   时间=res  pool.map (parallel_extract_keyword、线)   #打印(“Print 关键词:“)   # for  tag  res拷贝:   #打印(“,“. join(标签)   pool.close ()   pool.join ()   print(“并行处理花费时间{t} s" .format (t=time.time()分))

<强>运行:

python  data_process_by_multiprocess.py  message.txt

消息。txt是每行是一个文档,共581行,7米的数据

<强>运行时间:

怎么在python中利用多进程提取处理大量文本的关键词

不使用睡眠来挂起进程,也就是把time . sleep (random.random())注释掉,运行可以大大节省时间。

怎么在python中利用多进程提取处理大量文本的关键词

python是什么意思

python是一种跨平台的,具有解释性,编译性,互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

关于怎么在python中利用多进程提取处理大量文本的关键词问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

怎么在python中利用多进程提取处理大量文本的关键词