ITメモベース

Python・開発環境まわりの「つまずきポイント」を整理するITメモ


Pythonで FileNotFoundError が出る原因とパス確認方法(Mac)

,

Pythonでファイルを読み込もうとしたとき、次のようなエラーが出ることがあります。

FileNotFoundError: [Errno 2] No such file or directory

ファイルは存在しているはずなのに、
なぜか見つからないと言われてしまう――。

このエラーは、ファイルが無いのではなく「パスの指定が間違っている」
ケースがほとんどです。

この記事でわかること

  • FileNotFoundError が出る主な原因
  • Pythonにおけるパスの考え方
  • 相対パス・絶対パスの確認方法
  • Mac環境での安全な対処手順

結論:原因は「パスのズレ」がほとんど

先に結論です。
FileNotFoundError が出る原因は、ほぼ次のいずれかです。

  1. 実行しているディレクトリが想定と違う
  2. 相対パスの基準を誤っている
  3. ファイル名・拡張子の指定ミス
  4. パスの大文字・小文字の違い

順番に確認していきましょう。

原因① 実行しているディレクトリが違う

Pythonは、実行した場所(カレントディレクトリ) を基準に
相対パスを解釈します。

確認方法

pwd

現在の作業ディレクトリが表示されます。

よくある例

  • VS Codeで実行 → プロジェクト直下
  • ターミナルで実行 → 別ディレクトリ

このズレが FileNotFoundError の原因になります。

原因② 相対パスの指定ミス

相対パスは、
今いるディレクトリからの位置関係 で指定します。

data/sample.txt

この場合、

  • data フォルダが存在するか
  • その中に sample.txt があるか

を確認してください。

原因③ 絶対パスを指定していない

迷ったら 絶対パス を使うのが安全です。

例(Mac)

/Users/ユーザー名/project/data/sample.txt

これでエラーが消える場合、
相対パスの基準がズレていたことが分かります。

原因④ ファイル名・拡張子のミス

FileNotFoundError は、
わずかな違いでも発生 します。

よくあるミス

  • sample.txtsample.csv
  • 全角・半角の違い
  • スペルミス

ターミナルで実際に確認すると確実です。

ls

原因⑤ 大文字・小文字の違い(Mac特有)

Macでは設定によって、

  • 大文字・小文字を区別する
  • 区別しない

が分かれます。

Pythonは 区別する前提 で動くため、

Data.txt
data.txt

は別ファイルとして扱われることがあります。

デバッグに役立つ確認コード

実行中の作業ディレクトリを確認できます。

import os
print(os.getcwd())

この出力と、
ファイルの位置を照らし合わせてください。

よくあるNG対応

  • ファイルが無いと思い込む
  • 無理に ../ を増やす
  • 何度もパスを書き換える

まずは 現在地(pwd / getcwd)を確認 するのが最短ルートです。

まとめ

Pythonで FileNotFoundError が出る原因は、

  • 実行ディレクトリの違い
  • 相対パスの基準ミス
  • ファイル名の指定ミス

がほとんどです。

「今どこで実行しているか」 を意識するだけで、
多くの FileNotFoundError は防げます。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP