塩焼きブログ

塩焼きに関しての研究内容を公開しています

Pythonでファイル検索

Pythonで特定のパスからファイルを検索するにはこんな感じ

import os,sys,re

def find(directory):
    for root, dirs, files in os.walk(directory):
        yield root
        for file in files:
            yield os.path.join(root, file)

for file in find(sys.argv[1]):
    repatter = re.compile(sys.argv[2], re.IGNORECASE)
    if repatter.search(file):
        print file

使い方は引数にパスと正規表現を渡すだけ

$ python example.py ./ '.py'
example.py
test/example.py

関数化して特定のファイルを検索して探すものを作ってもいいかもしれない