約 30 個のファイルがあり、それぞれのサイズは約 300MB です。ユーザー名など、各ファイルに興味のある情報がいくつかあります。今、正規表現を使用してユーザー名を見つけ、次に最も一般的なユーザー名を見つけたいと思います。これが私のコードです:
rList=[]
for files in os.listdir("."):
with open(files,'r') as f:
for line in f:
m=re.search('PATTERN TO FIND USERNAME',line)
if m:
rList.append(m.group())
c=Counter(rList)
print c.most_common(10)
ご覧のとおり、見つけたすべてのユーザー名をリストに追加してから、Counter() を呼び出します。この方法では、完了するまでに約数分かかります。ファイルの読み取りが完了するたびに を削除しc=Counter(rList)
て呼び出してみましc.update()
たが、違いはありませんか?
SO、これはベストプラクティスですか?パフォーマンスを向上させる方法はありますか? ありがとう!