カテゴリ: Python 更新日: 2025/12/09

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

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

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

生徒

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

先生

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

生徒

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

先生

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

-

1. ファイルの存在チェックとは?

1. ファイルの存在チェックとは?
1. ファイルの存在チェックとは?

Pythonでファイルを扱うとき、ファイルが存在していないとエラーになることがあります。たとえば、ファイルを読み込もうとしたときに、そのファイルが無ければ、プログラムは途中で止まってしまいます。

そういったエラーを事前に防ぐために、まず「このファイルが本当にあるかどうか?」を確認する必要があります。これを「ファイルの存在チェック」と呼びます。

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
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.3
Java&Spring記事人気No3
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.8
Java&Spring記事人気No8
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
-
-