カテゴリ: Python 更新日: 2026/02/13

Pythonでファイルの存在チェックをする方法!初心者向けにos.path.exists()の使い方を解説

Pythonでファイルの存在チェックを行う方法(os.path.exists() の使い方)
Pythonでファイルの存在チェックを行う方法(os.path.exists() の使い方)

先生と生徒の会話形式で理解しよう

生徒

「Pythonで、ファイルがあるかどうかを調べるにはどうしたらいいですか?」

先生

「Pythonには、ファイルが存在しているかどうかを確認する便利な方法がありますよ。os.path.exists()という関数を使えば簡単にチェックできます。」

生徒

「それはどうやって使うんですか?エラーにならないか心配で…」

先生

「大丈夫です!初心者でも使いやすいように、やさしく説明していきましょう。」

1. ファイルの存在チェックとは?エラーを防ぐ重要なステップ

1. ファイルの存在チェックとは?エラーを防ぐ重要なステップ
1. ファイルの存在チェックとは?エラーを防ぐ重要なステップ

Pythonで外部ファイルを読み込んだり、データを書き込んだりする際、最も発生しやすいトラブルの一つが「指定したファイルが見つからない」というエラー(FileNotFoundError)です。もしファイルが存在しない状態でプログラムを動かそうとすると、処理が強制終了してしまいます。

例えば、大事な顧客データや設定ファイルを読み込むプログラムを作ったとしましょう。そのファイルが誤って削除されていたり、名前が少し違っていたりするだけで、プログラムは止まってしまいます。未経験の方にとっては、これだけで「何が悪いのかわからない!」とパニックになりがちですよね。

そこで役立つのが「ファイルの存在チェック」です。処理を開始する前に「もしファイルがあったら実行する、なければ警告を出す」というクッション(条件分岐)を挟むことで、エラーによる停止を防ぎ、安全で親切なプログラムを作成することができます。

未経験者向けのイメージ例:
料理を作る前に「冷蔵庫に卵があるか確認する」のと同じです。卵がないのに目玉焼きを作ろうとしても失敗してしまいますよね?まずは「あるかどうか」を確認することが、プログラミングでも大切なのです。

# 存在チェックをしない場合のイメージ(ファイルがないとエラーで止まる)
# open("dummy.txt")  # ← ここでプログラムが強制終了!

# 存在チェックをする場合のイメージ(エラーを回避できる)
if ファイルがある場合:
    ファイルを読み込む処理をする
else:
    「ファイルが見つかりませんでした」と画面に表示する

このように、あらかじめ確認する工程を入れることで、ユーザーにとっても使いやすい、信頼性の高いプログラムへと仕上がります。

2. os.path.exists()の基本的な使い方

2. os.path.exists()の基本的な使い方
2. os.path.exists()の基本的な使い方

os.path.exists()は、ファイルやフォルダ(ディレクトリ)が存在するかどうかをチェックするための関数です。

使い方はとてもシンプルで、以下のように書きます。


import os

if os.path.exists("sample.txt"):
    print("ファイルが見つかりました!")
else:
    print("ファイルが存在しません。")

このコードでは、「sample.txt」という名前のファイルが同じフォルダにあるかどうかを調べています。

3. 実行結果を確認してみよう

3. 実行結果を確認してみよう
3. 実行結果を確認してみよう

上のコードを実行したときの結果は、ファイルがあるかどうかによって次のようになります。


ファイルが見つかりました!

または


ファイルが存在しません。

このように、os.path.exists()True(本当)False(うそ)の結果を返してくれます。

4. osモジュールって何?

4. osモジュールって何?
4. osモジュールって何?

osモジュールは、「Operating System(オペレーティングシステム)」の略で、Pythonからパソコンのファイルやフォルダなどを操作するための道具箱のようなものです。

このモジュールを使うことで、ファイルの存在確認だけでなく、フォルダの作成やファイル名の変更など、いろいろな操作ができます。

5. 絶対パスと相対パスの違いも知っておこう

5. 絶対パスと相対パスの違いも知っておこう
5. 絶対パスと相対パスの違いも知っておこう

ファイルを指定するとき、「どこにあるのか」を示すために「パス(Path)」を使います。

  • 相対パス:今のファイルから見た位置(例:"sample.txt"
  • 絶対パス:パソコンのCドライブなどから見た完全な位置(例:"C:/Users/UserName/Desktop/sample.txt"

どちらもos.path.exists()で使うことができます。ただし、Windowsでは\(バックスラッシュ)ではなく、/(スラッシュ)を使うとエラーが少なくて済みます。

6. ファイルだけでなくフォルダの存在も確認できる

6. ファイルだけでなくフォルダの存在も確認できる
6. ファイルだけでなくフォルダの存在も確認できる

os.path.exists()は、ファイルだけでなく、フォルダ(ディレクトリ)の存在もチェックできます。たとえば次のように使います。


if os.path.exists("my_folder"):
    print("フォルダが見つかりました!")

これにより、プログラムを動かす前に必要なフォルダがあるかどうかを確認できます。

7. ファイルとフォルダを分けてチェックしたい場合

7. ファイルとフォルダを分けてチェックしたい場合
7. ファイルとフォルダを分けてチェックしたい場合

ファイルかフォルダかをはっきり分けて確認したい場合は、以下の関数を使うこともできます。

  • os.path.isfile():ファイルかどうかを確認
  • os.path.isdir():フォルダかどうかを確認

例えば、ファイルだけをチェックしたいなら次のように書けます。


if os.path.isfile("sample.txt"):
    print("これはファイルです。")

このように目的に応じて使い分けることができます。

8. ファイルの存在チェックを応用する例

8. ファイルの存在チェックを応用する例
8. ファイルの存在チェックを応用する例

例えば、ファイルがあるときだけ内容を読み込むようにしたい場合、次のようなコードになります。


if os.path.exists("memo.txt"):
    with open("memo.txt", "r") as f:
        content = f.read()
        print(content)
else:
    print("ファイルがないので読み込めません。")

このように、存在チェックと組み合わせることで、エラーのない安全なプログラムが書けるようになります。

まとめ

まとめ
まとめ

Pythonでファイルの存在を確認するという操作は、実際のプログラム開発においてとても重要な意味を持ちます。特に、外部ファイルを読み込んだり、設定ファイルを利用したり、ログを出力するような処理では、対象となるファイルが本当に存在するかどうかを事前に把握しておくことで、予期せぬエラーを防ぐことができます。この記事では、os.path.exists()を中心に、ファイルとフォルダの存在チェックの方法や、相対パスと絶対パスの違い、さらにファイルの種類を見分けるためのos.path.isfile()やos.path.isdir()の使い分けまで、さまざまな観点から丁寧に理解を深めてきました。実際のコード例を通して、Pythonのファイル操作がどれほど柔軟で使いやすいものなのかが実感できたのではないでしょうか。

ファイルの存在チェックを行う習慣は、プログラムの品質を高めるうえでも欠かせない要素です。特に初心者のうちは、「ファイルがある前提」でコードを書いてしまいがちですが、現実の開発環境では、ファイルが意図せず削除されたり、別の場所に移動されたりすることもあります。そのため、osモジュールを用いた存在確認を適切に利用することは、安全で堅牢なプログラムを作る第一歩といえます。また、フォルダの存在チェックや作成処理と組み合わせることで、自動的に必要な環境を整える仕組みも作れます。用途に応じてパスを切り替えたり、複数の条件を組み合わせたりすることで、柔軟なファイル処理を実現できるようになります。

サンプルプログラムまとめ


import os

# チェックしたいファイル名
target = "note.txt"

# ファイルの存在確認
if os.path.exists(target):
    print("ファイルが存在しています。内容を表示します。")
    with open(target, "r") as f:
        print(f.read())
else:
    print("対象のファイルが見つかりません。新しく作成します。")
    with open(target, "w") as f:
        f.write("はじめてのメモです。")
    print("ファイルを作成しました。")

# フォルダの存在確認
folder = "data_folder"
if not os.path.exists(folder):
    os.mkdir(folder)
    print("フォルダがなかったので作成しました。")
else:
    print("フォルダは既に存在しています。")

# 種類別の確認
path = "sample.txt"
if os.path.isfile(path):
    print("これはファイルです。")
elif os.path.isdir(path):
    print("これはフォルダです。")
else:
    print("指定されたパスは存在しません。")

このように、os.path.exists()を中心としたファイル確認の仕組みを理解することで、プログラムの信頼性は大きく向上します。存在チェックを行うだけでも、エラーの発生を未然に防ぎ、ユーザーにとってわかりやすいメッセージを返すことができるため、使いやすく安全なアプリケーション作りに近づきます。さらに、ファイルとフォルダの違いを正確に把握し、それぞれに適した方法で扱うことで、複雑なファイル操作もスムーズに実装できるようになります。Pythonにおけるファイル操作の基本をしっかり押さえておくことは、今後の学習において必ず役立つ知識となるでしょう。

先生と生徒の振り返り会話

生徒

「os.path.exists()って思ったより簡単に使えるんですね!ファイルがあるかどうか調べるのがこんなに手軽だとは思いませんでした。」

先生

「そうでしょう?ファイルが存在するかどうかを確認しておくだけで、プログラムが途中で止まるのを防げますし、思った以上に便利なんですよ。」

生徒

「フォルダもチェックできるっていうのも驚きました。しかも、必要だったら作ることもできるんですね!」

先生

「その通りです。ファイルとフォルダを両方扱えるので、プログラムを動かすための環境を自動的に整える仕組みも作れますよ。」

生徒

「相対パスと絶対パスの違いもわかりました。これを理解しておかないと、ファイルが見つからない原因になりそうですね…!」

先生

「その通り。パスの理解はとても大切です。習得すれば、より複雑なプロジェクトでも迷わずファイルを扱えるようになりますよ。」

生徒

「今日はすごく理解が深まりました!次はファイルの作成や書き込みももっと練習してみたいです!」

先生

「いいですね。今日学んだ知識をしっかり活かして、さらに実践的なプログラムにも挑戦してみましょう。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
Pythonのカスタム例外を作成する方法を完全解説!初心者でもわかる独自のExceptionクラス入門
New2
PHP
PHP の型変換を完全ガイド!初心者でもわかる明示的変換・自動変換
New3
PHP
PHPの真偽値と条件判定をやさしく解説!初心者でもわかるempty・isset・is_nullの使い方
New4
PHP
PHP の file_get_contents() を使ってファイルを読み込む方法!初心者でもできる簡単なファイル操作
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonのfinally文を徹底解説!例外発生時でも実行される処理の書き方と使い方
No.2
Java&Spring記事人気No2
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.4
Java&Spring記事人気No4
Python
Pythonの書き方を基本から解説!はじめてのPythonプログラム
No.5
Java&Spring記事人気No5
PHP
PHPの可変長引数(...$args)の使い方を完全ガイド!初心者でもわかる基本と活用方法
No.6
Java&Spring記事人気No6
PHP
初心者向けPHP の MySQL のデータを更新する方法(UPDATE 文)完全ガイド
No.7
Java&Spring記事人気No7
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.8
Java&Spring記事人気No8
PHP
PHP の変数とは?基本的な使い方とデータ型を徹底解説!