プログラムを作成する上で避けたい実行時エラー。今回は、指定されたパスが存在するかどうかを判定するos.path.existsを解説します。この記事は、
os.path --- 共通のパス名操作 — Python 3.8.1 ドキュメントを参考に作成しています。
目次
os.path.existsでパスの存在を確認する
os.pathモジュールのos.path.exists()関数
定義
まずは公式ドキュメントの定義を見てみます。
path が実在するパスかオープンしているファイル記述子を参照している場合 True を返します。壊れたシンボリックリンクについては False を返します。一部のプラットフォームでは、たとえ path が物理的に存在していたとしても、要求されたファイルに対する os.stat() の実行権がなければこの関数が False を返すことがあります。
<以下、省略。Python3.8.1ドキュメントより>
つまり、存在すればTrue、存在しなければFalseを返す関数という理解で良いです。
サンプルコード
それでは実際に使ってみます。Cドライブ直下にテスト用にsampleというフォルダを作成した状態で実行してみます。
import os path = 'C:\sample' print(os.path.exists(path)) #True
無事にファイルの存在有無を確認することができました。
パスの存在を確認する方法まとめ
標準モジュールであるos.pathのexists関数を使う事によってこれでファイルが存在するかどうかを調べる事ができる事が分かりました。この関数を使う事で存在しないファイルを開こうとして強制終了することを防げます。【Python】ファイルとフォルダの取り扱い|os.pathで解説したパスの取り扱いと併せて使うと良いでしょう。
<関連記事>