ホームページ >バックエンド開発 >Python チュートリアル >Python の「open()」関数が「FileNotFoundError」をスローするのはなぜですか?

Python の「open()」関数が「FileNotFoundError」をスローするのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-02 13:37:40604ブラウズ

Why Does Python's `open()` Function Throw a `FileNotFoundError`?

「open()」のトラブルシューティング FileNotFoundError: No such File or Directory

Python の open() 関数を使用してファイルにアクセスしようとすると、ファイルが存在しない、またはファイル パスが間違っているため、「FileNotFoundError」が発生する可能性があります。

このエラーは、open() 関数で指定されたファイルが現在の作業ディレクトリに存在しない場合、または指定されたパスが間違っているかアクセスできない場合に発生します。

ファイルについてパス

このエラーを効率的に解決するには、ファイル パスに対する Python のアプローチを理解することが重要です。解釈:

  • 絶対パス: ルート ディレクトリ (例: "C:Python32") で始まり、システム上の完全なファイルの場所を指定します。
  • 相対パス: ルート ディレクトリは含まれず、現在の作業ディレクトリからの相対パスとして決定されます。

診断とトラブルシューティング

エラーのトラブルシューティングを行うには、次の手順を検討してください。

  1. ファイルの確認存在: os.listdir() を使用して、ファイルが存在するかどうかを確認します。現在の作業ディレクトリ。
  2. 作業ディレクトリの確認: os.getcwd() を使用して現在の作業ディレクトリをチェックし、正しい場所にいることを確認します。

解決策のオプション

診断が完了したら、次の 2 つのオプションがあります。ファイル:

  1. 作業ディレクトリの変更: os.chdir(dir) を使用して、ファイルが存在するディレクトリに切り替えます。
  2. 絶対パスを使用: open() で完全なファイルパスを指定しますfunction.

ベスト プラクティス

ファイル パスを使用する場合は、次のことをお勧めします。

  • 生の文字列 (r" を使用する) ") による解析の問題を回避するための Windows パスの場合バックスラッシュ。
  • Windows ではエスケープする必要がないため、バックスラッシュ ('/') を使用することを検討してください。

「file.txt」が「C:Folder」にあるとします。

os.chdir(r'C:\Folder')
open('file.txt')  # Relative path

または

open(r'C:\Folder\file.txt')  # Absolute path
を使用して開くことができます。

以上がPython の「open()」関数が「FileNotFoundError」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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