0

我正在尝试搜索一系列目录,例如 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 搜索一系列目录的任何想法?

4

0 回答 0