带多线程的Python文件扫描应用程序

带多线程的Python文件扫描应用程序,python,multithreading,file,mongodb,multiprocessing,Python,Multithreading,File,Mongodb,Multiprocessing,如何在这段代码中使用多线程并限制线程;示例4线程 import os import glob from pymongo import Connection from gridfs import GridFS db = Connection().microfilm fs = GridFS(db) def scandirs(path): for currentFile in glob.glob( os.path.join(path, '*') ): if os.path.

如何在这段代码中使用多线程并限制线程;示例4线程

import os
import glob
from pymongo import Connection
from gridfs import GridFS

db = Connection().microfilm
fs = GridFS(db)

def scandirs(path):
    for currentFile in glob.glob( os.path.join(path, '*') ):
        if os.path.isdir(currentFile):
            print 'Entering directory: ' + currentFile
            scandirs(currentFile)

        base, ext = os.path.splitext(currentFile)
        if ( ext == '.tif'):
                print "Processing file: " + currentFile
                fName = os.path.basename(currentFile)
                with open(currentFile) as gfsFile:
                        oid = fs.put(gfsFile, content_type="image/tiff", filename=fName)

scandirs('./')
提前感谢。

创建一个大小为
n
的线程对象池(列表),用于检查任何线程对象是否已完成,以便在其中分配新的目录扫描。
此外,您还应该对
线程
类进行子类化,并定义一个
运行
方法以适应您的问题,有关如何执行此操作的详细信息,请参阅文档。

首先导入线程,然后导入线程。init()您希望将哪个部分放入线程名称run()(这是基类线程的重写方法)或Thread(目标)=“您的线程函数”,args=[])使用线程对象调用启动方法