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