ファイル、ディレクトリの存在を確認するには、osモジュールの isfile, isdir, existsを用います。
isfile | ファイルの存在の確認 |
isdir | ディレクトリの存在の確認 |
exists | ファイル もしくは ディレクトリの存在の確認 (ファイル、ディレクトリの区別なく存在確認します) |
(サンプル)
カレントディレクトリ直下に \images\Porrots.bmp というファイルがある場合の例です。
import os
# ファイルが存在するか?
exist = os.path.isfile("images/Parrots.bmp")
print("ファイルの存在: ", exist)
exist = os.path.isfile("images")
print("ファイルの存在: ", exist)
# ディレクトリが存在するか?
exist = os.path.isdir("images/Parrots.bmp")
print("ディレクトリの存在: ", exist)
exist = os.path.isdir("images")
print("ディレクトリの存在: ", exist)
# ファイルもしくはディレクトリが存在するか?
exist = os.path.exists("images/Parrots.bmp")
print("ファイルもしくはディレクトリの存在: " , exist)
exist = os.path.exists("images")
print("ファイルもしくはディレクトリの存在: " , exist)
(実行結果)
注意点
ファイル名を相対パスで指定した場合、カレントディレクトリが移動しているとファイル存在の結果が意図した結果にならない場合があります。
カレントディレクトリを取得するには、osモジュールのgetcwd()メソッドを用います。
(参考)