【Python】ファイル(file)の存在確認をする方法を解説

【Python】ファイル(file)の存在確認をする方法を解説

公開: 更新:


Pythonでファイル(file)の存在確認をする方法

【サンプルコード】
import os
file_path = 'example.txt'
if os.path.exists(file_path):
	print(f'ファイル "{file_path}" は存在します。')
else:
	print(f'ファイル "{file_path}" は存在しません。')
【実行結果】
ファイル "example.txt" は存在しません。

このコードの1行目ではimport osを使って、Pythonの標準ライブラリであるosモジュールをインポートしています。

osモジュールにはオペレーティングシステムに依存する様々な機能が含まれており、ファイルやディレクトリの操作に関連する機能も多数あります。

2行目のfile_path = 'example.txt'で、存在を確認したいファイルのパス変数file_pathに割り当てています。

この例では、カレントディレクトリにある'example.txt'という名前のファイルが対象です。

3行目のif os.path.exists(file_path):os.path.exists関数を使って、file_pathで指定したファイルが実際に存在するかどうかを確認しています。

この関数は指定されたパスのファイルやディレクトリが存在する場合にTrueを返し、存在しない場合にはFalseを返します。

4行目と6行目のprint関数は、条件分岐の結果に応じて適切なメッセージを画面に表示します。

ファイルが存在する場合は「ファイル "example.txt" は存在します。」と表示し、存在しない場合は「ファイル "example.txt" は存在しません。」と表示します。

このようにos.path.exists関数を使用することで、任意のファイルやディレクトリの存在を効率的に確認することが可能です。

「Python」を学べるコードキャンプのサービス

ファイル(file)が存在するか確認する別の方法:isfileとisdir

【サンプルコード】
import os
file_path = 'example.txt'
if os.path.isfile(file_path):
	print(f'"{file_path}" はファイルです。')
elif os.path.isdir(file_path):
	print(f'"{file_path}" はディレクトリです。')
else:
	print(f'"{file_path}" は存在しません。')
【実行結果】
"example.txt" は存在しません。

このサンプルコードではos.path.isfileos.path.isdir関数を使用しており、1行目でosモジュールをインポートした後、2行目で確認対象のファイルパスを指定します。

os.path.isfile関数は指定されたパスがファイルであるかどうかを確認し、ファイルであればTrue、そうでなければFalseを返します。

同様にos.path.isdir関数は、指定されたパスがディレクトリ(フォルダ)であるかを確認します。

このコードではif os.path.isfile(file_path):で指定されたパスがファイルであるかを確認し、ファイルであれば適切なメッセージを表示します。

次にelif os.path.isdir(file_path):で指定されたパスがディレクトリであるかを確認し、ディレクトリであればその旨を表示します。

最後のelse節ではパスがファイルでもディレクトリでもない場合、つまり存在しない場合にはその旨を表示します。

この方法では、ファイルとディレクトリを区別して存在を確認することが可能です。

例外処理を使ったファイル存在確認の方法

【サンプルコード】
import os
try:
	with open('example.txt', 'r') as file:
		print(f'ファイル "{file.name}" は存在します。')
except FileNotFoundError:
	print('ファイルは存在しません。')
【実行結果】
ファイルは存在しません。

このコードではtry...exceptブロックを使用してファイルの存在を確認しています。

1行目でosモジュールをインポートしますが、この例ではopen関数のみを使用しています。

3行目のtryブロック内でopen関数を使ってファイルを開こうとしており、open('example.txt', 'r')とすることで、'example.txt'という名前のファイルを読み込みモードで開こうとしています。

ファイルが存在して開ければwith openブロック内のコードが実行され、ファイルの存在の確認が可能です。

withステートメントを使用することでファイル操作が終了した後に自動で閉じられ、ファイルが存在しない場合はopen関数がFileNotFoundError例外を投げます。

この例外はexcept FileNotFoundError:ブロックで捕捉され、ファイルが存在しないことをユーザーに通知します。

この方法ではファイルの存在確認と同時に、ファイルを開く処理を行うことが可能です。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア 中途採用者向けのIT・プログラミング研修 - IT・プログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する