まず結論

FileNotFoundError は、Pythonが指定されたファイルを見つけられないときに出ます。

file = open("data.txt", "r", encoding="utf-8")

このとき、実行場所に data.txt がなければエラーになります。

読む目安

次のようなエラーで止まった人向けです。

FileNotFoundError: [Errno 2] No such file or directory

意味は「そのファイルやフォルダはありません」です。

イメージで考える

FileNotFoundError は、Pythonが指定された棚を探したけれど、そこにファイルがなかった合図です。

ファイル名が違う場合もあります。

今いるフォルダと、ファイルを置いたフォルダが違う場合もあります。

「名前」と「場所」を分けて見ると確認しやすいです。

ファイル名を確認する

まず、ファイル名が正しいか確認します。

data.txt
date.txt

1文字違うだけでも別のファイルです。

拡張子に注意

Windowsでは拡張子が隠れていることがあります。

data.txt.txt

このようになっていると、data.txt と指定しても見つかりません。

実行場所を確認する

Pythonは、今実行している場所を基準にファイルを探します。

open("data.txt")

これは「ターミナルの今いるフォルダ、つまり実行時の基準フォルダにある data.txt」を探す書き方です。 別のフォルダにあるなら、パスを指定する必要があります。

フォルダを含めて書く

たとえば files フォルダの中にあるなら、次のように書きます。

open("files/data.txt", "r", encoding="utf-8")

読み方のコツ

FileNotFoundError は、コードの文法ではなく「場所」の問題です。
ファイル名、拡張子、フォルダ、ターミナルの今いるフォルダの順に確認しましょう。

手を動かすミニ練習

存在しないファイル名をあえて指定して、エラー文を見てみましょう。

open("missing.txt", "r", encoding="utf-8")

missing.txt を実際に作ると、同じコードでもエラーが変わります。ファイル名と場所を確認する練習になります。