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

Pythonでディレクトリ内の全ファイルを削除する方法【os・shutil活用ガイド】

Pythonでは、標準ライブラリの os モジュールに含まれる関数を使って、単一のファイルや空のフォルダを簡単に削除できます。

ファイルを1つ削除する方法

たとえば、my_file.txt というファイルを削除したい場合は、次のように記述します。

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

os.remove() の引数には、絶対パスまたは相対パスのどちらでも指定できます。

複数のファイルをまとめて削除する方法

複数のファイルを削除したい場合は、削除対象のファイル名リストをループ処理して、上記の関数を順番に呼び出すだけで実現できます。

また、削除したいファイルがすべて入ったフォルダごと消して、空のフォルダを作り直すというアプローチもあります。この場合は shutil モジュールの rmtree() が便利です。

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

shutil.rmtree() は、指定したフォルダ内のすべてのファイルとサブディレクトリを再帰的に削除します。その後、os.makedirs() で同じ名前の空のフォルダを新しく作成しています。

os.walk()を使って再帰的に削除する方法

フォルダ構造(ディレクトリツリー)はそのまま残しつつ、中身のファイルだけをすべて削除したい場合は、os.walk() を使う方法がおすすめです。

import os, re, os.path
mypath = "my_folder"
for root, dirs, files in os.walk(mypath):
    for file in files:
        os.remove(os.path.join(root, file))

この方法を使えば、サブフォルダを含むディレクトリ構成は完全に維持され、ファイルのみが削除されます。

削除時の注意点

  • os.remove()shutil.rmtree() による削除はゴミ箱を経由せず、元に戻せません。実行前に削除対象を必ず確認しましょう。
  • 存在しないファイルを指定すると FileNotFoundError が発生します。os.path.exists() で事前に存在チェックを行うか、try-exceptによる例外処理を組み合わせると安全です。
  • 読み取り専用ファイルや使用中のファイルがある場合、削除に失敗することがあります(Windows環境では特に注意が必要です)。
  1. C#で指定したパス内のすべてのファイルとフォルダーを削除する方法

    はじめにC#では、System.IO 名前空間を利用することで、指定したパス配下のすべてのフォルダーとファイルを簡単に削除できます。特に DirectoryInfo クラスを使うと、ディレクトリ内のサブディレクトリやファイルの詳細情報を取得できるため、一括削除処理の実装に便利です。サンプルコードここでは、「Demo」というディレクトリの中に2つのサブディレクトリといくつかのファイルが存在する場合を例に説明します。using System.IO; namespace DemoApplication {    class Program {     &nbs

  2. Pythonでフォルダ内のすべてのExcelファイルを一括マージする方法

    Pythonを使えば、フォルダ内に散らばった複数のExcelファイルをわずか数行のコードで1つのファイルにまとめることができます。本記事では、標準ライブラリのglobモジュールと、データ分析に欠かせないpandasを組み合わせて、Excelファイルを一括結合する手順を詳しく解説します。 前提条件:必要なパッケージのインストール まず、Excelファイルを読み書きするために以下のパッケージが必要です。まだインストールしていない場合は、pipコマンドで導入しておきましょう。 pip install openpyxl xlrd openpyxl:xlsx形式(Excel 2007以降)の読み書きに