Pythonでファイルの種類と数を数えるには?

ファイルタイプや数を数えるには、Pythonのosモジュールを使ってフォルダのファイルをループし、ファイルのサフィックスからタイプを判断します。ここにサンプルコードを示します。

import os

def count_file_types(folder_path):
    file_types = {}

    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_name, file_ext = os.path.splitext(file)
            if file_ext:
                file_type = file_ext[1:].lower()
                if file_type in file_types:
                    file_types[file_type] += 1
                else:
                    file_types[file_type] = 1

    return file_types

folder_path = 'path/to/folder'
file_types = count_file_types(folder_path)

for file_type, count in file_types.items():
    print(f"{file_type}: {count}")

示したコード例において、count_file_types関数はフォルダーパスを引数として受け取り、os.walkを用いてフォルダー内のすべてのファイルを走査します。各ファイルに対して、os.path.splitext関数が利用されてファイル名と拡張子が取得されます。その後、拡張子は小文字に変換され、辞書file_typesを用いて各ファイルタイプの数が記録されます。最後に、file_types辞書が走査され、各ファイルタイプとその対応する数が出力されます。

なお、上記ではファイルのタイプとして拡張子のみを取得します。詳細なファイル種別については、mimetypes などのサードパーティライブラリを使用し、ファイルの MIME タイプを判定してください。

bannerAds