ホームページ >バックエンド開発 >Python チュートリアル >Python の `open()` が `FileNotFoundError` をスローするのはなぜですか?それを修正するにはどうすればよいですか?

Python の `open()` が `FileNotFoundError` をスローするのはなぜですか?それを修正するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-04 03:22:39291ブラウズ

Why Does `open()` in Python Throw a `FileNotFoundError`, and How Can I Fix It?

存在しないファイルの「open() で FileNotFoundError / IOError が発生する」を解決する

Python で open() 関数を使用してファイルをロードしようとすると、「 「FileNotFoundError / IOError」エラーと「[Errno 2] そのようなファイルまたはディレクトリはありません。」というメッセージが表示されます。このエラーは、スクリプトが指定されたファイルを見つけられないことを示しています。

根本原因を詳しく調べるには、Python がファイルを見つける方法を理解することが重要です:

  • 絶対パス: の「C:Pythonscripts」など、コンピューターのルート ディレクトリから始まります。 Windows.
  • 相対パス: ルート ディレクトリから始まらず、「作業ディレクトリ」からの相対パスです。

open('recentlyUpdated. yaml')、Python は相対パスを想定し、現在の作業ディレクトリ内を検索します。問題を診断するには:

  • ファイルの存在を確認します: os.listdir() を使用して現在の作業ディレクトリ内のファイルを一覧表示し、正しい拡張子のファイルが存在することを確認します。
  • 現在のディレクトリを確認します: os.getcwd() を使用して、コードから起動されるように、予想されるディレクトリを確認します。 IDE には別の作業ディレクトリがある可能性があります。

解決策:

  1. 現在の作業ディレクトリを変更します: os.chdir(dir) を使用して、ファイルを含むディレクトリを開き、それを次のように開きますopen("file.txt").
  2. 絶対パスを指定します: open(r'C:Folderfile.txt') など、open 呼び出しでファイルへの完全なパスを指定します。 .

注:

  • 生の文字列 (r"") を使用してください。バックスラッシュを含むパスの場合、例: r'C:Python32'。
  • スラッシュは Windows 'C:/Python32' で機能し、エスケープする必要はありません。
  • 例: file.txt は C:Folder にあるので開くことができますas:

    • os.chdir(r'C:Folder')
      open('file.txt') # 相対パス
    • open(r'C:Folderfile. txt') # 絶対パス

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

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