Pythonでディレクトリ(フォルダ)を削除する方法!os.rmdirとshutil.rmtreeの使い分けを解説
Pythonでディレクトリ(フォルダ)を削除したい場面は、スクリプト開発やファイル整理の自動化などでよくあります。しかし、単にフォルダを消すといっても、「空のフォルダ」なのか「中身のあるフォルダ」なのかによって使う関数が異なります。この記事では、それぞれのケースに応じた削除方法をわかりやすく解説します。
空のディレクトリを削除する:os.rmdir()
中に何も入っていない空のフォルダを削除したい場合は、標準ライブラリの os モデルにある rmdir() 関数を使用します。
>>> import os
>>> os.rmdir('my_folder')
このコードを実行すると、カレントディレクトリ内の my_folder が削除されます。ただし注意点として、フォルダの中にファイルやサブフォルダが1つでも残っていると OSError が発生します。そのため、事前にフォルダが空であることを確認しておきましょう。
中身ごとディレクトリを削除する:shutil.rmtree()
フォルダ内のファイルやサブフォルダも含めてまとめて削除したい場合は、shutil モジュールの rmtree() 関数を使います。
>>> import shutil
>>> shutil.rmtree('my_folder')
rmtree() は指定したディレクトリと、その中にあるすべてのファイル・サブディレクトリを再帰的に削除します。非常に便利な一方で、削除した内容は元に戻せないため、実行前に削除対象のパスが正しいか必ず確認してください。
エラーを防ぐ安全な書き方
存在しないフォルダを指定するとエラーになるため、try-except を組み合わせるとより安全です。
import shutil
import os
folder = 'my_folder'
if os.path.exists(folder):
shutil.rmtree(folder)
print(f'{folder} を削除しました')
else:
print(f'{folder} は存在しません')
使い分けのまとめ
- os.rmdir() … 空のフォルダだけを削除したいとき
- shutil.rmtree() … 中身ごとフォルダを丸ごと削除したいとき
用途に合わせてこれらの関数を使い分けることで、Pythonでのファイル操作をより効率的かつ安全に行えます。
-
【Python】Tkinterでラベルのテキストを削除する方法をわかりやすく解説
Tkinterは、PythonでGUIベースのアプリケーションを作成・開発するための標準ライブラリです。この記事では、何らかのテキストが表示されているラベルから、そのテキストを削除する方法を解説します。 ラベルからテキストを削除するには、ラベルの表示を切り替えるトリガーとして機能するボタンを作成します。具体的には、config()メソッドを使ってラベルのtext属性を空の文字列に書き換えます。 サンプルコード # Tkinterライブラリをインポート from tkinter import * # tkinterフレームのインスタンスを作成 win = Tk() # ウィンドウのサイズを
-
Linuxでディレクトリを削除する方法を徹底解説!GUIとコマンドラインの使い分け
Linuxでディレクトリを削除する方法は主に2つあります。1つはデスクトップ環境(ファイルマネージャー)を使ったグラフィカルな操作、もう1つはコマンドラインから直接実行する方法です。どちらの方法でも問題なく削除でき、効果も同等です。GUI(ファイルマネージャー)でディレクトリを削除する方法デスクトップ環境やファイルマネージャーによって操作性は多少異なりますが、基本的な手順は共通しています。ここではBudgieデスクトップ環境とNemoファイルマネージャーを使った例で説明します。まずファイルマネージャーを開き、削除したいディレクトリがある場所へ移動します。対象のディレクトリを見つけたら、右クリッ