Pythonを使えば、ファイルが存在するかどうかを簡単に確認できます。今回は、基本的な方法から応用テクニック、よくあるエラーまでを初心者にも分かりやすく解説します。
なぜファイルの存在チェックが必要なのか?
プログラムを作るとき、対象のファイルが存在するかどうかを事前に確認するのは重要です。例えば、存在しないファイルを読み込もうとするとエラーになり、処理が途中で止まってしまいます。そこで、ファイルの存在をチェックしてから処理を進めれば、予期せぬエラーを回避できます。また、ログファイルやデータファイルなどを扱う業務システムでは、必ずと言っていいほど必要になる処理です。そのため、最初に覚えておくとプログラムの信頼性が大きく向上します。
Pythonでファイル存在チェックをする基本方法
os.path.existsを使う方法
もっとも基本的な方法は、os.path.exists
を使うことです。
import os
file_path = "sample.txt"
if os.path.exists(file_path):
print("ファイルは存在します")
else:
print("ファイルは存在しません")
この方法はとてもシンプルで、存在の有無をTrue
またはFalse
で返してくれます。初心者が最初に学ぶには最適です。
os.path.isfileとの違い
os.path.exists
はファイルやディレクトリの両方を対象にします。一方、os.path.isfile
はファイルのみを判定します。
if os.path.isfile(file_path):
print("これはファイルです")
つまり、特定のファイルだけを対象にする場合はisfile
を使うと誤判定を防げます。
pathlibを使ったモダンな方法
Python3.4以降ではpathlib
が推奨される傾向にあります。これはオブジェクト指向的な記法で読みやすいのが特徴です。
from pathlib import Path
file_path = Path("sample.txt")
if file_path.exists():
print("ファイルが存在します")
else:
print("ファイルは存在しません")
pathlib
を使うと、コードが直感的に理解しやすく、複雑なパス操作も簡単に行えるためおすすめです。
応用テクニック
ファイルがなければ自動で作成する
存在チェックをした後、もしファイルがなければ自動で作成することも可能です。
if not file_path.exists():
with open(file_path, "w") as f:
f.write("新規作成されました")
このようにすれば、ログファイルや設定ファイルがなかった場合でも安全に処理を進められます。
try-exceptでのエラーハンドリング
ファイル操作では、存在チェックだけでなく例外処理を組み合わせることも重要です。
try:
with open("sample.txt", "r") as f:
data = f.read()
except FileNotFoundError:
print("ファイルが見つかりません")
この方法なら、チェックし忘れてもプログラムが落ちることを防げます。状況に応じてexists()
と例外処理を使い分けるのがベストです。
よくあるエラーと注意点
- PermissionError:ファイルが存在しても権限がない場合は開けません。実行環境の権限を確認しましょう。
- FileNotFoundError:指定したパスが間違っている場合に発生します。相対パスではなく絶対パスを指定すると解決することがあります。
- ディレクトリを誤判定:
exists()
はフォルダも対象にするため、ファイル限定ならisfile()
を使いましょう。
ファイル存在チェックの実用シーン
ファイル存在チェックは、日常的なプログラミングで広く利用されます。例えば、バッチ処理で前日の売上データがあるかどうか確認したり、アプリケーションの初回起動時に設定ファイルを作成したりする場面です。また、Webアプリや機械学習のデータ前処理でも、入力ファイルが欠けていないかどうかを確かめる工程で活用されます。小さな工夫ですが、システムの安定性に大きな影響を与える技術といえます。
Python初心者におすすめのサービス
「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、
テックアカデミーがおすすめです。
AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。
さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。
また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富なPython講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。
書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。
また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験やPythonの知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。
こちらのリンクから詳細をチェックしてみてください。
まとめ
Pythonでファイルの存在チェックを行う方法は、os.path.exists
やpathlib
を使うと簡単に実装できます。さらに、例外処理を組み合わせればより安全です。実務でも役立つテクニックなので、ぜひ習得してみましょう。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

コメント