どこかのだれかへ

ボク、プログラマ。

os.walkをpathlibに書き換えて美しいコードに

pathlibの存在をつい最近知ったんですがすごい便利です。なぜ今まで知らなかったのか。

例えばディレクトリ内にあるcppファイルのリストを再帰的に取得する場合。

import os
for root, dirs, files in os.walk('./'):
    for filename in files:
        base, ext = os.path.splitext(filename)
        if ext == '.cpp':
            print(os.path.join(root, filename))

と書いていたところを

from pathlib import Path
for filepath in Path('./').glob('**/*.cpp'):
    print(filepath)

とめっちゃすっきり書くことが出来ます。これは素晴らしい。