ファイルやディレクトリの存在を確認する(pathlibモジュール)

広告

ファイルを読み込んだりコピーしたりするなどの処理を行う前にファイルが実際に存在しているかどうか確認が必要な場合があります。ここでは Python の pathlib モジュールで用意されている Path.exists メソッドを使って指定したパスが示すファイルまたはディレクトリが実際に存在するかどうかを確認する方法について解説します。

※ os モジュールを使ってファイルやディレクトリが実際に存在するかどうかを確認するには「ファイルやディレクトリの存在を確認する」を参照されてください。

ファイルやディレクトリの存在を確認する

指定したパスが示すファイルまたはディレクトリが存在するかどうかを調べるには pathlib モジュールで用意されている Path クラスの exists メソッドを使用します。

Path.exists()

パスが示すファイルやディレクトリが実際に存在するかどうかを返します。

実際の使い方ですが、まず存在の確認を行うパスから Path クラスのインスタンスを作成します。そのあとで exists メソッドを実行します。

import pathlib

p = pathlib.Path('./test/movie')
print(p.exists())

パスがファイルであってもディレクトリであっても実際に存在すれば True を返します。

サンプルプログラム

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 sample13-1.py という名前で保存します。

import pathlib

path1 = './test/address.txt'
p1 = pathlib.Path(path1)
if p1.exists() :
  print(path1 + 'は存在します')
else :
  print(path1 + 'は存在しません')

path2 = './test/user.txt'
p2 = pathlib.Path(path2)
if p2.exists() :
  print(path2 + 'は存在します')
else :
  print(path2 + 'は存在しません')

path3 = './test/img'
p3 = pathlib.Path(path3)
if p3.exists() :
  print(path3 + 'は存在します')
else :
  print(path3 + 'は存在しません')

プログラムと同じディレクトリの中に test という名前のディレクトリがあり、 test ディレクトリの中に次のようにファイルとディレクトリが含まれています。

ファイルやディレクトリの存在を確認する(1)

その後で、次のように実行してください。

python sample13-1.py

ファイルやディレクトリの存在を確認する(2)

3 つのパスを指定し、それぞれ存在するかどうかを確認しました。

-- --

Pythonを使って指定したパスが示すファイルまたはディレクトリが実際に存在するかどうかを確認する方法について解説しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。