Cool_Breeze 发表于 2020-6-3 15:16:22

多进程浏览文件夹

本帖最后由 Cool_Breeze 于 2020-6-3 18:15 编辑

#!/usr/bin/env python3
#coding:utf-8

import multiprocessing as multi
import os

class thr(multi.Process):
    def __init__(self,folder):
      multi.Process.__init__(self)
      self.folder = folder
   
    def run(self):
      for root,dirs,files in os.walk(self.folder.get()):#返回self.folder中的一个元素
            print('父目录:',root)
            print('文件夹:',dirs)
            for f in files:
                print(f)
      self.folder.task_done()

def Process_pool(q):
    th = thr(q)
    th.daemon = True #主进程结束等待子进程结束
    th.start()   

if __name__ == '__main__':
    q = multi.JoinableQueue()#队列
   
    #进程池
    Process_pool(q)
    Process_pool(q)
   
    folder = #文件夹列表
    for i in range(len(folder)):
      q.put(folder) #将元素放入队列
   
    q.join()#等待队列清空

win_233 发表于 2020-6-3 16:38:01

没有注释吗

Cool_Breeze 发表于 2020-6-3 18:16:06

win_233 发表于 2020-6-3 16:38
没有注释吗

有的!
页: [1]
查看完整版本: 多进程浏览文件夹