Python にファイルが存在するかどうかを確認する方法

胡金庫 2023年1月30日
  1. try...except でファイルの存在を確認する(> Python 2.x)
  2. ファイルが存在するかどうかを確認するための os.path.isfile()(> = Python 2.x)
  3. ファイルが存在するかどうかを確認するための pathlib.Path.is_file()(> = Python 3.4)
Python にファイルが存在するかどうかを確認する方法

このチュートリアルでは、Python にファイルが存在するかどうかを確認する 3つの異なるソリューションを紹介します。

  1. ファイルの存在を確認するための try...except ブロック(> = Python 2.x)
  2. ファイルの存在を確認する os.path.isfile 関数(> = Python 2.x)
  3. 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

上記のコード例では、例外キャッチ部分に FileNotFoundErrorIOError の両方をリストすることで、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() メソッドもあります。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Python File