Python: ディレクトリを削除 rmdir(), 再帰的 removedirs()

ディレクトリを削除

Pythonでディレクトリを削除する場合は osモジュールの rmdir()関数、 再帰的にディレクトリを削除する場合は removedirs()関数を使います。

書式
rmdir(パス)

removedirs(パス)

どちらの関数も戻り値はありません。 削除するディレクトリが空でない場合は、 「OSError」が発生します。

rmdir()でディレクトリを削除

まずは rmdir()でディレクトリを削除します。

import os

os.rmdir("sample")

もしディレクトリが空でない場合は次のようなエラーが発生します。

実行結果
  File "test.py", line 3, in 
    os.rmdir("sample")
OSError: [WinError 145] ディレクトリが空ではありません。: 'sample'

removedirs()でディレクトリを再帰的に削除

現在ディレクトリに次のような構成のディレクトリがあるとします。 (sample2の下にsample3とsample4)

sample2
  ├ sample3
  └ sample4
import os

os.removedirs("sample2/sample3")

os.removedirs("sample2/sample4")

最初の「os.removedirs("sample2/sample3")」でディレクトリ「sample3」のみが削除されます。 この時点では「sample2」は残っています。

次の「os.removedirs("sample2/sample4")」でディレクトリ 「sample4」と「sample2」が削除されます。

Python