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

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

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

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

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

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

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

ファイルを削除する方法

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を使用すれば、簡単にファイル・ディレクトリの削除が可能ですので使い方は理解しておきましょう。

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

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。