はじめに
Pythonに限らず、プログラム開発でファイルを操作するときは対象ファイルが存在するか確認しないとシステムエラーが起きます。そのために、ファイルの存在チェックを行うことが良くあります。この記事では、ファイルおよび、フォルダの存在のチェック方法をサンプルプログラムを使いながら説明していきます。
対象レベル
Pythonの環境設定が整っており、Pythonの基本構文が理解出来ること。
詳しくは「【Python入門】〜初級編〜環境構築・基本構文まとめ」にまとめてあります。興味のある方はご覧ください。
前提条件
この記事では、以下のファイルとフォルダを対象に存在チェックを行います。
ファイル名・フォルダ名 | タイプ | 存在の有無 |
test | フォルダ | 存在する |
test1.txt | ファイル | 存在する |
aaa | フォルダ想定 | 存在しない |
bbb.txt | ファイル想定 | 存在しない |
実装と実行をするまえにフォルダの確認を行います。確認をすると、「test」というフォルダと「test1.txt」というファイルが存在することが分かります。

ファイルまたはフォルダの存在を確認する(exists)
まず初めに、「exist」を使います。こちらのメソッドはファイルのパスが正しければファイルでもフォルダでも「True」を返します。
使い方は以下の通りで「exists」のカッコの中にファイル名または、フォルダ名を指定します。
プログラムの6行目が該当の処理です。後述のサンプルファイルも6行目を「isfile」、「isdir」に変更しているだけで他の処理は同じにしています。
import osos.path.exists(ファイル名または、フォルダ名)
それでは、実行してみます。1番目と2番目は実際に存在するパスなので「True」が返されています。
3番目と4番目の出力ではパスが不正なので「False」が返されています。

ファイルの存在を確認する(isfile)
次は「isfile」についてです。こちらのメソッドは「 パスが正しいこと 」かつ「 ファイルであること 」の条件を満たした場合に「True」を返します。使い方は以下の通りです。
import osos.path.isfile(ファイル名)
使用するパスは前回と同じにしています。この場合だと、先頭から2番目(配列で言うと1番目)の「 test1.txt 」の場合で「True」が出力されます。
実行結果が以下になります。想定通り、「test1.txt」のみ「True」が出力されています。

フォルダの存在を確認する(isdir)
最後に、フォルダの存在チェック「isdir」について説明します。こちらのメソッドは、 「 パスが正しいこと 」かつ「 フォルダであること 」の条件を満たした場合に「True」を返します。使い方は以下の通りです。
スポンサーリンク
import osos.path.isdir(フォルダ名)
下のサンプルソースでいうと配列の0番目のみ「True」を返す想定になります。
想定通り実行結果をみると0番目が「True」になっています。

まとめ
パスの検証は「os.path.exists(ファイル名または、フォルダ名)」を使う
ファイルの存在確認は「os.path.isfile(ファイル名)」を使う
フォルダの存在確認は「os.path.isdir(フォルダ名)」を使う