Python にファイルが存在するかどうかを確認する方法
胡金庫
2023年1月30日
-
try...except
でファイルの存在を確認する(> Python 2.x) -
ファイルが存在するかどうかを確認するための
os.path.isfile()
(> = Python 2.x) -
ファイルが存在するかどうかを確認するための
pathlib.Path.is_file()
(> = Python 3.4)
このチュートリアルでは、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()
メソッドもあります。
著者: 胡金庫