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

広告

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

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

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

指定したパスが示すファイルまたはディレクトリが存在するかどうかを調べるには os.path モジュールで用意されている exists 関数を使用します。

os.path.exists(path)

引数に指定したパスが実際に存在している場合に True を返します。

例えば次のように記述します。

import os

path = './test/img/'
print(os.path.exists(path))
--> True

path = './test/address.txt'
print(os.path.exists(path))
--> True

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

※ パスがファイルかディレクトリなのかを判別するには「ファイルかディレクトリなのかを調べる」を参照されてください。

サンプルプログラム

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

import os
import pathlib

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

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

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

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

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

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

python sample7-1.py

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

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

-- --

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

( Written by Tatsuo Ikura )

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

著者 / TATSUO IKURA

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