Day 143拡張子ごとのファイル数をカウントする
Pythonコード
1import os2 3dir_path = './'4files = os.listdir(dir_path)5file_counts = {}6 7for file in files:8 file_ext = os.path.splitext(file)[1].lower()9 if file_ext in file_counts:10 file_counts[file_ext] += 111 else:12 file_counts[file_ext] = 113 14for ext, count in file_counts.items():15 print(f'{ext}: {count}個')
解説
- 行1: osモジュールをインポートします。osモジュールは、ファイルやディレクトリを操作するための関数を提供します。具体的には、os.listdir()でディレクトリ内のファイルやサブディレクトリの一覧を取得できます。 行2〜3: 現在のディレクトリパスを指定し、os.listdir()関数でディレクトリ内のファイルやサブディレクトリの一覧を取得します。 行4: ファイルごとの拡張子をキーとして、カウントを値として格納するディクショナリを初期化します。 行5〜12: ファイルの一覧をループで回し、各ファイルの拡張子を取得します。os.path.splitext()関数でファイル名から拡張子を抽出します。さらに、lower()メソッドで拡張子を小文字に統一します。 行13〜16: ファイルの拡張子ごとにカウントを増やします。すでにディクショナリに登録されている拡張子であればカウントを1増やし、登録されていない拡張子であれば新しく登録します。 行17〜18: 最後に、ディクショナリのキーと値をループで回し、各拡張子とそのカウントを出力します。print()関数は、指定された値を画面に表示するために使用されます。
- 行15: 補足: print() は画面に文字や値を表示する関数です。
次に試してみよう
- ファイルの拡張子を小文字と大文字を区別せずにカウントしてみましょう。
- ディレクトリ内のサブディレクトリも再帰的に探索して、ファイルの拡張子をカウントしてみましょう。
- ファイルの拡張子ごとのカウントをグラフで表示してみましょう。