Pythonで特定の拡張子のファイルを再帰的に削除する方法


以下は、シンプルで簡単な方法といくつかのコード例です。

方法1: osモジュールを使用する方法

import os
def delete_files_with_extension(extension):
    for root, dirs, files in os.walk("."):
        for file in files:
            if file.endswith(extension):
                os.remove(os.path.join(root, file))
# 使用例
delete_files_with_extension(".txt")  # 拡張子が".txt"のファイルを削除

方法2: globモジュールを使用する方法

import glob
import os
def delete_files_with_extension(extension):
    file_list = glob.glob(f"/*{extension}", recursive=True)
    for file_path in file_list:
        if os.path.isfile(file_path):
            os.remove(file_path)
# 使用例
delete_files_with_extension(".txt")  # 拡張子が".txt"のファイルを削除

これらの方法は、現在のディレクトリおよびそのサブディレクトリ内のすべてのファイルを再帰的に調べ、指定された拡張子を持つファイルを削除します。ご希望の拡張子を引数として関数に渡すことで、削除したい拡張子のファイルを指定できます。