ホームページ  >  記事  >  バックエンド開発  >  Pythonでファイルが存在するかどうかを確認する方法

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

silencement
silencementオリジナル
2019-06-12 13:58:424729ブラウズ

通常、ファイルの読み取りおよび書き込みを行う前に、ファイルまたはディレクトリが存在するかどうかを確認する必要があります。そうしないと、一部の処理方法によってプログラム エラーが発生する可能性があります。したがって、操作を実行する前にファイルが存在するかどうかを確認することが最善です。

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&#39;t have permission to access this file."

3. pathlib モジュールを使用します

pathlib module Python3 版では組み込みモジュールですが、Python2 ではサードパーティ製モジュールを別途インストールする必要があります。

pathlib を使用するには、まずファイル パスを使用してパス オブジェクトを作成する必要があります。このパスには、ファイル名またはディレクトリ パスを指定できます。

パスが存在するかどうかを確認してください

path = pathlib.Path("path/file")
path.exist()

パスがファイルであるかどうかを確認してください


path = pathlib.Path("path/file")
path.is_file()

以上がPythonでファイルが存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。