Pythonでファイルの存在チェックをする方法!初心者向けにos.path.exists()の使い方を解説
生徒
「Pythonで、ファイルがあるかどうかを調べるにはどうしたらいいですか?」
先生
「Pythonには、ファイルが存在しているかどうかを確認する便利な方法がありますよ。os.path.exists()という関数を使えば簡単にチェックできます。」
生徒
「それはどうやって使うんですか?エラーにならないか心配で…」
先生
「大丈夫です!初心者でも使いやすいように、やさしく説明していきましょう。」
1. ファイルの存在チェックとは?
Pythonでファイルを扱うとき、ファイルが存在していないとエラーになることがあります。たとえば、ファイルを読み込もうとしたときに、そのファイルが無ければ、プログラムは途中で止まってしまいます。
そういったエラーを事前に防ぐために、まず「このファイルが本当にあるかどうか?」を確認する必要があります。これを「ファイルの存在チェック」と呼びます。
2. os.path.exists()の基本的な使い方
os.path.exists()は、ファイルやフォルダ(ディレクトリ)が存在するかどうかをチェックするための関数です。
使い方はとてもシンプルで、以下のように書きます。
import os
if os.path.exists("sample.txt"):
print("ファイルが見つかりました!")
else:
print("ファイルが存在しません。")
このコードでは、「sample.txt」という名前のファイルが同じフォルダにあるかどうかを調べています。
3. 実行結果を確認してみよう
上のコードを実行したときの結果は、ファイルがあるかどうかによって次のようになります。
ファイルが見つかりました!
または
ファイルが存在しません。
このように、os.path.exists()はTrue(本当)かFalse(うそ)の結果を返してくれます。
4. osモジュールって何?
osモジュールは、「Operating System(オペレーティングシステム)」の略で、Pythonからパソコンのファイルやフォルダなどを操作するための道具箱のようなものです。
このモジュールを使うことで、ファイルの存在確認だけでなく、フォルダの作成やファイル名の変更など、いろいろな操作ができます。
5. 絶対パスと相対パスの違いも知っておこう
ファイルを指定するとき、「どこにあるのか」を示すために「パス(Path)」を使います。
- 相対パス:今のファイルから見た位置(例:
"sample.txt") - 絶対パス:パソコンのCドライブなどから見た完全な位置(例:
"C:/Users/UserName/Desktop/sample.txt")
どちらもos.path.exists()で使うことができます。ただし、Windowsでは\(バックスラッシュ)ではなく、/(スラッシュ)を使うとエラーが少なくて済みます。
6. ファイルだけでなくフォルダの存在も確認できる
os.path.exists()は、ファイルだけでなく、フォルダ(ディレクトリ)の存在もチェックできます。たとえば次のように使います。
if os.path.exists("my_folder"):
print("フォルダが見つかりました!")
これにより、プログラムを動かす前に必要なフォルダがあるかどうかを確認できます。
7. ファイルとフォルダを分けてチェックしたい場合
ファイルかフォルダかをはっきり分けて確認したい場合は、以下の関数を使うこともできます。
os.path.isfile():ファイルかどうかを確認os.path.isdir():フォルダかどうかを確認
例えば、ファイルだけをチェックしたいなら次のように書けます。
if os.path.isfile("sample.txt"):
print("これはファイルです。")
このように目的に応じて使い分けることができます。
8. ファイルの存在チェックを応用する例
例えば、ファイルがあるときだけ内容を読み込むようにしたい場合、次のようなコードになります。
if os.path.exists("memo.txt"):
with open("memo.txt", "r") as f:
content = f.read()
print(content)
else:
print("ファイルがないので読み込めません。")
このように、存在チェックと組み合わせることで、エラーのない安全なプログラムが書けるようになります。