在包含多个文件的一系列目录中搜索和计算术语

时间:2013-09-19 17:23:09

标签: python

我正在尝试搜索一系列目录,例如20130901到20130919,每个目录中都有多个文件,并搜索每个文件以计算术语出现的次数。

当我只搜索一个目录时,我可以让它工作,但我需要搜索几个目录。这是我到目前为止所做的,但这不起作用。当目录

中的所有文件中的每个术语应该有数千个时,它找不到任何匹配项
#!/usr/bin/env python

import sys
import os
import glob

vipmatches = "<vip>1</vip>"
nonvipmatches = "<vip>0</vip>"
vipwords = []
nonvipwords = []
numvip = 0
numnonvip = 0
paths ='20130919'

def scandirs(path):
        for currentFile in glob.glob( os.path.join(path, '*') ):
                print currentFile
                with open(currentFile, 'r') as f:
                        for line in f:
                                for word in line.split():
                                        if word in vipmatches:
                                                vipwords.append(word)
                                        elif word in nonvipmatches:
                                                nonvipwords.append(word)
scandirs(paths)
numvips = len(vipwords)
numnonvips = len(nonvipwords)
print "%d vips, %d nonvips" % (numvips, numnonvips)

如果我走错路或者我在这里做错了,有人可以告诉我吗?它一如既往地受到赞赏!

**编辑:我使用工作模型修改了上面的代码,但这只是搜索我指定的一个目录(20130919)。我已经尝试创建一个列表:['20130919','20130918']但脚本错误了。关于如何使用scandirs搜索一系列目录的任何想法?

0 个答案:

没有答案