0

たとえば、20130901 から 20130919 までの範囲のディレクトリを検索しようとしています。それぞれのディレクトリには複数のファイルがあり、各ファイルを検索して用語の出現回数を数えます。

1 つのディレクトリだけを検索しても機能しますが、複数のディレクトリを検索する必要があります。これが私がこれまでに持っているものですが、これは機能しません。ディレクトリ内のすべてのファイルの各用語に何千もあるはずの場合、一致するものは見つかりません

#!/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)

私が間違った道を進んでいるか、ここで何が間違っているかを誰かに教えてもらえますか? いつものように大歓迎です!

**編集: 上記のコードを作業モデルに変更しましたが、これは指定した 1 つのディレクトリのみを検索しています (20130919)。リストを作成しようとしました['20130919','20130918']が、スクリプトでエラーが発生しました。scandirs を使用してさまざまなディレクトリを検索する方法についてのアイデアはありますか?

4

0 に答える 0