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

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

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

(Last modified: )

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

指定したパスが示すファイルまたはディレクトリが存在するかどうかを調べるには 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

プログラミングや開発環境構築の解説サイトを運営しています。