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 タイプを判定してください。