Pythonでファイルが存在していれば削除したり、フォルダ内のファイルを全て削除する方法

スポンサーリンク
スポンサーリンク

イントロダクション

Python ファイル操作チュートリアルでは、Python 内からファイルを操作する方法を学びました。

この記事では、Pythonでファイルを削除する方法を学びます。

Pythonでファイルから読んだり、ファイルに書き込んだりする方法は知っています。

今日はPythonで削除操作を学んでみましょう。

ファイルの作成に成功した後、そのファイルに対して読み書きのような操作を行ったとします。

そのファイルを様々なデータの分析に使用した後、場合によっては将来的に不要になることがあります。

このとき、どのようにファイルを削除するのでしょうか。

この記事では、それを学ぶつもりです。

Pythonでファイルを削除する方法

Pythonでファイルを削除するためのさまざまな方法を見てみましょう。

1. os モジュールの使用

Python の os モジュールは、ファイルや空のディレクトリを削除するための使いやすいメソッドを提供しています。

以下のコードをよく見てください。

import os
if os.path.isfile('/Users/test/new_file.txt'):
    os.remove('/Users/test/new_file.txt')
    print("success")
else:   
    print("File doesn't exists!")

ここでは、ファイルディレクトリが存在しない場合に発生する例外を回避するために if-else 文を使用しています。

メソッド isfile() はファイル名 ‘new_file.txt’ のファイルが存在するかどうかをチェックします。

ここでも、osモジュールが提供する別のメソッド rmdir() を使って、空のディレクトリを削除したりすることができます。

import os
os.rmdir('directory')

注意: ディレクトリは空のものでなければなりません。

もし、何らかのコンテンツが含まれていた場合、このメソッドはOSerrorを返します。

2. shutil モジュールの使用

shutil は Python でファイルを削除するもう一つの方法で、ユーザが簡単にファイルやディレクトリ全体 (すべてのコンテンツを含む) を削除できるようにします。

rmtree()` はディレクトリとその内容を再帰的に削除するshutilモジュールのメソッドです。

その使い方を見てみましょう。

import shutil
shutil.rmtree('/test/')

上記のコードでは、ディレクトリ ‘/test/’ が削除されます。

そして、最も重要なことは、そのディレクトリ内のすべてのコンテンツが削除されることです。

3. pathlibモジュールの使用

pathlib は Python 3.4+ で利用可能な組み込みの Python モジュールです。

この定義済みのモジュールを使って、ファイルや空のディレクトリを削除することができます。

例を見てみましょう。

import pathlib
file=pathlib.path("test/new_file.txt")
file.unlink()

上の例では、path() メソッドはファイルのパスを取得するために使われ、unlink() メソッドは指定したパスのファイルをアンリンクまたは削除するために使われます。

unlink()メソッドはファイルに対して動作します。

ディレクトリが指定された場合は、OSErrorが発生します。

ディレクトリを削除するには、先に説明した方法のいずれかに頼ることができます。

タイトルとURLをコピーしました