HOWTO · Python
Python にファイルが存在するかどうかを確認する方法
このハウツー記事では、ファイルが Python に存在するかどうかを確認する方法を紹介します
このページの内容
このチュートリアルでは、Python にファイルが存在するかどうかを確認する 3つの異なるソリューションを紹介します。
- ファイルの存在を確認するための
try...exceptブロック(> = Python 2.x) - ファイルの存在を確認する
os.path.isfile関数(> = Python 2.x) pathlib.Path.is_file()ファイルの存在を確認します(> = Python 3.4)
try...except でファイルの存在を確認する(> Python 2.x)
ファイルを開こうとして、IOError(Python 2.x)または FileNotFoundError(Python 3.x)がスローされるかどうかに応じて、ファイルが存在するかどうかを確認できます。
def checkFileExistance(filePath):
try:
with open(filePath, "r") as f:
return True
except FileNotFoundError as e:
return False
except IOError as e:
return False
上記のコード例では、例外キャッチ部分に FileNotFoundError と IOError の両方をリストすることで、Python 2/3 と互換性を持たせています。
ファイルが存在するかどうかを確認するための os.path.isfile()(> = Python 2.x)
import os
fileName = "temp.txt"
os.path.isfile(fileName)
ファイル fileName が存在するかどうかをチェックします。
警告
一部の開発者は、os.path.exists() を使用してファイルが存在するかどうかを確認することを好みます。しかし、オブジェクトがファイルかディレクトリかを区別できませんでした。
import os
fileName = "temp.txt"
print(os.path.exists(fileName))
fileName = r"C:\Test"
print(os.path.exists(fileName))
したがって、ファイルが存在するかどうかを確認したい場合にのみ os.path.isfile を使用してください。
ファイルが存在するかどうかを確認するための pathlib.Path.is_file()(> = Python 3.4)
Python 3.4 以降、pathlib モジュールにオブジェクト指向メソッドを導入して、ファイルが存在するかどうかを確認します。
from pathlib import Path
fileName = "temp.txt"
fileObj = Path(fileName)
print(fileObj.is_file())
同様に、ディレクトリまたはファイル/ディレクトリが存在するかどうかを確認するための is_dir() および exists() メソッドもあります。