Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでディレクトリ内の複数のファイルを削除する方法

Pythonでは、osモジュールに用意されている関数を使うことで、単一のファイルや空のフォルダを簡単に削除できます。この記事では、1つのファイルの削除から、複数ファイルの一括削除、さらには正規表現を使ったパターンマッチングによる削除まで、具体的な方法を解説します。

単一ファイルの削除

まず、基本的な例として、my_file.txtというファイルを削除する場合は以下のように記述します。

>>> import os
>>> os.remove('my_file.txt')

os.remove()の引数には、絶対パスまたは相対パスを指定します。指定したパスにファイルが存在しない場合はFileNotFoundErrorが発生するため、必要に応じてos.path.exists()などで存在確認を行うと安全です。

複数ファイルを一括で削除する

複数のファイルを削除したい場合は、削除対象のファイル名のリストを作成し、ループ処理の中で上記のos.remove()を呼び出すだけで実現できます。

また、フォルダ内のすべてのファイルをまとめて削除したい場合は、フォルダごと再帰的に削除できるshutil.rmtree()が便利です。

>>> import shutil
>>> shutil.rmtree('my_folder')

この方法では、指定したフォルダとその中身(サブフォルダ・ファイルすべて)が完全に削除されるため、実行前に削除対象をよく確認してください。

正規表現で条件に合うファイルだけを削除する

特定のパターンに一致するファイル名だけを削除したい場合は、正規表現(reモジュール)とos.walk()を組み合わせると効率的です。

import os, re, os.path

pattern = "^your_regex_here$"
mypath = "my_folder"

for root, dirs, files in os.walk(mypath):
    for file in filter(lambda x: re.match(pattern, x), files):
        os.remove(os.path.join(root, file))

このコードでは、os.walk()my_folder以下を再帰的に走査し、正規表現パターンに一致するファイルだけをos.remove()で削除しています。pattern変数の部分を目的に合わせた正規表現に置き換えて使用してください。

注意点

  • 削除操作は元に戻せないため、重要なデータを扱う場合は事前にバックアップを取ることをおすすめします。
  • 誤って意図しないファイルを削除しないよう、パターンやパスの指定は慎重に行いましょう。
  1. Linuxでディレクトリを削除する方法を徹底解説!GUIとコマンドラインの使い分け

    Linuxでディレクトリを削除する方法は主に2つあります。1つはデスクトップ環境(ファイルマネージャー)を使ったグラフィカルな操作、もう1つはコマンドラインから直接実行する方法です。どちらの方法でも問題なく削除でき、効果も同等です。GUI(ファイルマネージャー)でディレクトリを削除する方法デスクトップ環境やファイルマネージャーによって操作性は多少異なりますが、基本的な手順は共通しています。ここではBudgieデスクトップ環境とNemoファイルマネージャーを使った例で説明します。まずファイルマネージャーを開き、削除したいディレクトリがある場所へ移動します。対象のディレクトリを見つけたら、右クリッ

  2. 重複ファイルの削除方法|PCの空き容量を増やして動作を高速化する完全ガイド

    パソコンを整理整頓することは、高速で安定した状態を保つために非常に重要です。そのため、Windowsユーザーなら誰もが、ディスククリーンアップ、デフラグ、レジストリの修復、ウイルススキャンといった定期的なメンテナンス作業を行う必要があります。しかし、意外と見落とされがちな重要なメンテナンス作業がもう一つあります。それが「重複ファイルの削除」です。 重複ファイルとは? どのパソコンにも重複ファイルは存在します。文書、音楽、画像、動画などのコピーのことです。これらのファイルは時間とともに蓄積し、PCの中を散らかしていきます。その結果、空きディスク容量が減少し、ファイルやフォルダが乱雑になってしま