pythonで拡張子に「○○」という文字列が含まれているファイルのリストを再帰的に取得

pythonで、あるディレクトリの下にある、指定したディレクトリの中にある、指定した拡張子のファイルのみをリストで取り出したいと思ったときに使えるスクリプトを紹介します。python3.4以上限定です。

from pathlib import Path

# Pathオブジェクトを生成
p = Path("/Users/user_name/Desktop/Test/")

# 再帰的な検索
li = list(p.glob("*/Source/*.docx"))
for i in range(len(li)):
    print(li[i])

説明

上記のコードでは、まずスクリプトはTestディレクトリの下からSourceディレクトリを探します。Sourceディレクトリに遭遇したら、Sourceディレクトリに入ってさらにその中にある.docxファイルのみを取得してフルパスでリストとして返します。