Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでファイルの存在を確認する2つの方法|os.path.isfile()と例外処理の使い方

Pythonでは、特定のファイルがコンピューター上に存在するかどうかを、主に2つの方法で確認できます。1つ目はos.pathモジュールのisfile()関数を使う方法、2つ目は例外処理(try-except)を活用する方法です。それぞれの使い方を詳しく見ていきましょう。

方法1:os.path.isfile() 関数を使う

os.path.isfile()は、指定したパスにファイルが存在する場合にTrueを返し、存在しない場合はFalseを返す関数です。最もシンプルで一般的な確認方法といえます。

>>> import os
>>> os.path.isfile("d:\\Package1\\package1\\fibo.py")
True
>>> os.path.isfile("d:/Package1/package1/fibo.py")
True
>>> os.path.isfile("d:\\nonexisting.txt")
False

なお、パスの記述にバックスラッシュ(\)を使用する場合は、Pythonの文字列内でエスケープする必要があるため、必ず2つ重ねて\\と書く点に注意してください。上記の例のように、スラッシュ(/)を使えばエスケープ不要でそのまま動作します。

方法2:例外処理(try-except)を使う

もう1つの方法は、open()関数に存在しないファイルのパスを渡したときに発生するIOError例外を捕捉する方法です。ファイルを開く処理自体とセットで存在チェックを行いたい場合に有効です。

try:
   fo = open("d:\\nonexisting.txt", "r")
   # ファイルを開いた後の処理
   pass
   #
   fo.close()
except IOError:
   print("File doesn't exist")

このコードでは、指定したファイルが存在しない場合にopen()IOError(Python 3ではFileNotFoundErrorが派生して発生)を送出し、exceptブロック内のメッセージが出力されます。

補足:os.path.exists() との違い

似た関数としてos.path.exists()がありますが、こちらはディレクトリも含めて存在を判定します。ファイルのみを対象にしたい場合はos.path.isfile()を使うのが適切です。また、Python 3.4以降ではpathlib.Path("パス").exists()というオブジェクト指向の書き方も利用できるため、コードのスタイルに合わせて選択するとよいでしょう。

  1. Pythonでファイルを削除する方法をわかりやすく解説

    Pythonでファイルを削除する基本の方法 Pythonでは、標準ライブラリのosモジュールを使うことで、単一のファイルや空のフォルダ(ディレクトリ)を簡単に削除できます。外部ライブラリのインストールは不要で、import osと記述するだけですぐに利用できるのが魅力です。 os.remove() でファイルを削除する たとえば、カレントディレクトリにある my_file.txt というファイルを削除したい場合は、次のように記述します。 >>> import os >>> os.remove(my_file.txt) os.remove() の引数には、削

  2. Pythonで変数の存在を確認する方法|locals()・globals()・hasattr()の使い方

    Pythonでは、変数が存在するかどうかを確認するために、組み込み関数の locals()、globals()、そして hasattr() を活用します。それぞれの役割と具体的な使い方を、サンプルコードと実行結果をもとに解説します。 変数の存在確認に使える3つの方法 locals():現在のローカルスコープ(関数やメソッド内)で定義されている変数を辞書形式で返します。 globals():モジュール全体(グローバルスコープ)で定義されている変数を辞書形式で返します。 hasattr():オブジェクトが指定した名前の属性を持っているかどうかを真偽値で判定します。 サンプルコード x = 10