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

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

os.access()によるファイルの存在確認と権限チェック

Pythonでは、os.access(path, mode)関数を使うことで、ファイルの存在確認だけでなく、読み取り・書き込み・実行といったアクセス権限の有無も同時にチェックできます。

引数modeには以下の定数を指定します。

  • os.F_OK: ファイルが存在するかどうか
  • os.R_OK: 読み取り権限があるかどうか
  • os.W_OK: 書き込み権限があるかどうか
  • os.X_OK: 実行権限があるかどうか

使用例

>>> import os
>>> os.access('my_file', os.F_OK) # ファイルの存在確認
True
>>> os.access('my_file', os.R_OK) # 読み取り権限の確認
True
>>> os.access('my_file', os.W_OK) # 書き込み権限の確認
True
>>> os.access('my_file', os.X_OK) # 実行権限の確認
False

シンプルに存在だけ確認したい場合:os.path.exists()

権限チェックは不要で、ファイルの有無だけを知りたい場合は、os.path.exists()を使うのが最も一般的です。

>>> import os
>>> os.path.exists('my_file')
True

pathlibを使うモダンな方法(Python 3.4以降)

Python 3.4以降では、オブジェクト指向的なpathlibモジュールを利用することもできます。パス操作をまとめて扱いたい場合に便利です。

>>> from pathlib import Path
>>> Path('my_file').exists()
True

用途に応じてこれらの方法を使い分けると、より読みやすく堅牢なコードになります。なお、存在確認の後に実際にファイルを開くまでの間に状態が変わる可能性(TOCTOU問題)もあるため、実運用ではtry-exceptによる例外処理と組み合わせるのが推奨されます。

  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