Pythonでファイルの存在を確認する2つの方法!

Python Python

Pythonでファイルの存在を確認する方法について書いています。
下記の関数とクラスを使うことで、確認することができます。

・isfile関数(os.pathモジュール)
・Pathクラス(pathlibモジュール)

載せているサンプルコードはPythonのバージョン3.10.5で動作検証しました。

isfile関数でファイルの存在確認

os.pathモジュールのisfile関数を使うと、指定したファイルが存在するか確認することが可能です。
この関数は、ファイルが存在するときにTrueを返してくれます。
公式ドキュメントではこちらの方に記載がありました。

例えば、下記のように使って、存在をチェックすることが可能です。

from os.path import isfile

exist = isfile("hello.txt")
print(exist) # True

最初にos.pathモジュールからisfile関数をインポートしています。

次の処理でisfile関数を使って、ファイルが存在するか確認しています。
isfile関数に渡しているのはファイルパスになります。

渡したファイルが存在するとTrueが返ってきて、ない場合はFalseが返ってきます。
今回は存在するファイルを指定したので、print関数で出力するとTrueになりました。
ディレクトリを指定した場合は、ファイルではないのでFalseになります。

Pathクラスでファイルの存在確認

pathlibモジュールのPathクラスを使うことでも、ファイルが存在するか確認することができます。
このPathクラスからis_fileメソッドを呼ぶことで、ファイルが存在するとTrueを返してくれます。
公式ドキュメントではこちらの方に記載がありました。

例えば、下記のように使います。

from pathlib import Path

path = Path("hello.txt")
print(path.is_file()) # True

最初にpathlibモジュールからPathクラスをインポートしています。

次の処理でPathクラスを使っています。
渡しているのはファイルパスです。これでpathにPathクラスのインスタンスが返ってきます。

pathからis_fileメソッドを呼ぶことで、ファイルがある場合はTrueになります。
ファイルがない場合はFalseになります。
今回は存在するので、Trueが出力されました。

おわりに

今回はPythonでファイルの存在確認をする方法について書きました。
os.pathかpathlibモジュールを使用することで、存在確認することができました。

どちらを使うかですが、連続してパスの情報を扱う場合には、pathlibを使うと良いようです。
こちらの記事に記載がありましたが、連続して使う場合にメソッドチェーンを書くことで、やっていることが分かりやすくなりそうです。

コメント

タイトルとURLをコピーしました