ホームページ >バックエンド開発 >Python チュートリアル >Pythonでファイルが存在するかどうかを確認する方法
通常、ファイルの読み取りおよび書き込みを行う前に、ファイルまたはディレクトリが存在するかどうかを確認する必要があります。そうしないと、一部の処理方法によってプログラム エラーが発生する可能性があります。したがって、操作を実行する前にファイルが存在するかどうかを確認することが最善です。
#Python でファイルが存在するかどうかを確認するにはどうすればよいですか?
ファイルが存在するかどうかを確認するには、os モジュール、Try ステートメント、および pathlib モジュールを使用できます。
ここでは、os モジュール、Try ステートメント、pathlib モジュールをそれぞれ使用して、ファイルまたはフォルダーが存在するかどうかを確認する 3 つの方法を紹介します。
1. os モジュールを使用する
os モジュールの os.path.exists() メソッドは、ファイルが存在するかどうかを確認するために使用されます。
ファイルが存在するかどうかを確認する
import os os.path.exists(test_file.txt) #True os.path.exists(no_exist_file.txt) #False
または
import os os.path.exists(test_dir) #True os.path.exists(no_exist_dir) #False
ファイルが存在するかどうかを確認するために os.path.exists() メソッドが使用されていることがわかります。とフォルダは同じです。
実はこの方法にはまだ問題があり、「test_data」というファイルが存在するかどうかを確認したいとしますが、カレントパス下に「test_data」というフォルダがあるため、誤判定が発生する可能性があります。 。この状況を回避するには、次のようにします。
ファイルのみを確認する
import os os.path.isfile("test-data")
このメソッドでは、ファイル "test-data" が存在しない場合は False が返され、それ以外の場合は true が返されます。
ファイルが存在する場合でも、そのファイルの読み取りと書き込みが可能かどうかを判断する必要がある場合があります。
ファイルの読み取りおよび書き込みが可能かどうかを確認する
os.access() メソッドを使用して、ファイルの読み取りおよび書き込みが可能かどうかを確認します。
構文:
os.access(path, mode)
path はファイル パス、mode は動作モード、いくつかのタイプがあります:
os.F_OK: 检查文件是否存在; os.R_OK: 检查文件是否可读; os.W_OK: 检查文件是否可以写入; os.X_OK: 检查文件是否可以执行
このメソッドは、ファイル パスが存在するかどうか、およびさまざまなアクセスを決定します。モード 権限は True または False を返します。
import os if os.access("/file/path/foo.txt", os.F_OK): print "Given file path is exist." if os.access("/file/path/foo.txt", os.R_OK): print "File is accessible to read" if os.access("/file/path/foo.txt", os.W_OK): print "File is accessible to write" if os.access("/file/path/foo.txt", os.X_OK): print "File is accessible to execute"
2. Try ステートメントを使用する
open() メソッドをプログラム内で直接使用して、ファイルが存在するかどうかを確認し、読み書き可能です。
構文
open(<file/path>)
開いたファイルが存在しない場合、プログラムはエラーをスローします。try ステートメントを使用してこのエラーをキャッチします。
プログラムがファイルにアクセスできません。理由は多数考えられます:
開いたファイルが存在しない場合、FileNotFoundError 例外がスローされます;
ファイルは存在しますが、それにアクセスする権限がないため、PersmissionError 例外がスローされます。
try: f =open() f.close() except FileNotFoundError: print "File is not found." except PersmissionError: print "You don't have permission to access this file."
3. pathlib モジュールを使用します
path = pathlib.Path("path/file") path.exist()パスがファイルであるかどうかを確認してください
path = pathlib.Path("path/file") path.is_file()
以上がPythonでファイルが存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。