【Python入門】ファイル・ディレクトリを削除|os.remove・os.rmdir

Pythonにはファイル・ディレクトリを操作するさまざまな関数が用意されています。

ファイルやディレクトリの処理をプログラミングしていると、以下のようなケースが発生することがあります。

「ファイルを削除するにはどうすればいいの?」
「ディレクトリを削除するにはどうすればいいの?」
「ディレクトリの中身ごと削除するにはどうすればいいの?」

そこで今回はファイル・ディレクトリを削除するための関数os.remove、os.rmdirについて紹介いたします。

【基礎】os.removeでファイルを削除する方法
【基礎】os.rmdirでディレクトリを削除する方法
【発展】ディレクトリの中身ごと削除する方法

ファイル・ディレクトリを削除する方法について初心者でも理解できるように解説していますので、ぜひ参考にしてみてください。

本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。

→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説

なお、その他のPythonの記事についてはこちらにまとめています。

目次

ファイルを削除する方法

os.removeとは

os.removeは引数に指定したファイルを削除すために使用する関数です。

os.removeは以下のように記述します。

import os
os.remove(パス)

remove関数を使用するためにはosモジュールをインポートしておく必要があります。

remove関数の引数は絶対パスまたは相対パスで削除するファイルを指定します。

os.removeの使い方

ここでは実際にos.remove関数を使用してファイルを削除する方法について見ていきましょう。

以下のサンプルでは相対パスでpythonを実行するディレクトリから、ディレクトリdirに存在するsample.txtを削除しています。

import os

path = './dir/sample.txt'

os.remove(path)

print(os.path.exists(path))

実行結果:

False

このプログラムでは最後にos.path.exists関数でファイルの存在有無を確認しています。

os.path.existsはファイルが存在するとTrue、存在しないとFalseを返すので、ファイルが削除されていることがわかります。

なお、削除するファイルが存在しない場合はエラー「FileNotFoundError」が発生しますので、指定したディレクトリにファイルが必ず存在するかわからない場合は、事前に紹介したos.path.exists関数でファイルチェックを行うとよいでしょう。

ディレクトリを削除する方法

os.rmdirとは

os.rmdirは引数に指定したディレクトリ(フォルダ)を削除すために使用する関数です。

os.rmdirは以下のように記述します。

import os
os.rmdir(パス)

os.rmdir関数を使用するためにはremove同様osモジュールをインポートしておく必要があります。

os.rmdir関数の引数は絶対パスまたは相対パスで削除するディレクトリを指定します。

なお、rmdir関数は空のディレクトリのみ削除することができます。

os.rmdirの使い方

ここではos.rmdir関数を使用して、ディレクトリを削除する方法について見ていきましょう。

以下のサンプルでは相対パスでpythonを実行するディレクトリからディレクトリdirに存在するsub_dirを削除しています。

import os

path = './dir/sub_dir'

os.rmdir(path)

print(os.path.isdir(path))

実行結果:

False

このプログラムでは、最後にos.path.isdir関数でディレクトリの存在有無を確認しています。

os.path.isdirはディレクトリが存在するとTrue、存在しないとFalseを返すので、ディレクトリが削除されていることがわかります。

また、ディレクトリの中にファイルやサブディレクトリが存在する場合は、「OSError」が発生しますので注意しましょう。

ディレクトリ全体を削除する

先ほど紹介したos.rmdir関数は空のディレクトリのみ削除できます。

もし、指定したディレクトリにサブディレクトリやファイルが存在する場合は、エラーが発生します。

そのため、指定したディレクトリに含まれるサブディレクトリ・ファイルも削除したい場合はshutilモジュールのrmtree関数を使用します。

サンプルプログラム:

import shutil

path = './dir/sub_dir'

shutil.rmtree(path)

print(os.path.isdir(path))

実行結果:

False

ファイル・ディレクトリ操作についてもっと知りたい方へ

Pythonにはファイル・ディレクトリを操作するためのさまざまな関数が用意されています。

ファイル・ディレクトリ操作全般について知りたい方は以下の記事も合わせて参考にしてみてください。

まとめ

ここではPythonでファイルやディレクトリを削除する方法について解説しました。

  • os.removeでファイルを削除する方法
  • os.rmdirでディレクトリを削除する方法
  • ディレクトリの中身ごと削除する方法

os.removeやos.rmdirを使用すれば、簡単にファイル・ディレクトリの削除が可能ですので使い方は理解しておきましょう。

もし、ファイル・ディレクトリの削除方法を忘れてしまったら、この記事を思い出してくださいね!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次