Pyhont ファイルが見つからないというエラー

Fariba Laiq 2023年10月10日
  1. Python でのファイル I/O
  2. Python での FileNotFoundError の原因
Pyhont ファイルが見つからないというエラー

FileNotFoundError は、Python が開きたいファイルを見つけられないときに発生する一般的なエラーです。 この記事では、Python の FileNotFoundError とその解決策について説明します。

Python でのファイル I/O

Python には、ファイルの変更に使用される組み込み関数があります。 ファイルは、コンピュータのストレージ デバイスに保存されるオブジェクトです。

ファイルを開くには、Python の open() 関数を使用します。 2つのパラメーターがあります。

パラメータ 説明
filename 開きたいファイルの名前。
mode ファイルに対して実行する操作。

さまざまな操作を可能にするいくつかのモードがあります。

モード 使用法
r 既に存在するファイルを開いて読み取ります。
a 既存のファイルを開いてデータを追加します。
w 既存のファイルを開いてデータを書き込みます。 同じ名前のファイルが存在しない場合は、新しいファイルを作成します。

Python での FileNotFoundError の原因

ファイルを開くときに、Python が指定されたファイルを開くことができない場合、FileNotFoundError というエラーが発生することがあります。 以下のコード例では、それに続くエラーが生成されます。

コード例:

# Python 3.x
file = open("text.txt", "r")

出力:

#Python 3.x
Traceback (most recent call last):
  File "c:/Users/LEO/Desktop/Python/main.py", line 2, in <module>
    datafile = open('text.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'text.txt'

理由 1 - 現在のディレクトリにファイルが存在しない

通常、主な理由は、ファイルがコードの実行元と同じフォルダーにないことです。 デフォルトでは、open() 関数は、コード ファイルと同じフォルダー内のファイルを探します。

ディレクトリ構造が次のようになっているとします。

code.py
my_folder
---my_file.txt

ユーザーが次のコードを使用して my_file.txt を開くと、エラーが発生します。

コード例:

# Python 3.x
file = open("my_file.txt", "r")

出力:

#Python 3.x
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-4-0fc1710b0ae9> in <module>()
----> 1 file = open('my_file.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'my_file.txt'

理由 2 - ファイル名または拡張子が正しくない

ファイルが正しいディレクトリにある場合でもエラーが発生する場合は、ユーザーが間違ったファイル名または拡張子を指定しています。

ユーザーが my_file.txt という名前のファイルを持っているとします。 ファイル名または拡張子が正しくない場合、両方の状況でエラーが発生します。

コード例:

# Python 3.x
file = open("my_file2.txt", "r")

出力:

#Python 3.x
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-5-4dd25a062671> in <module>()
----> 1 file = open('my_file2.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'my_file2.txt'

別の例を次に示します。

コード例:

# Python 3.x
file = open("my_file.jpg", "r")

出力:

#Python 3.x
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-6-d1645df0ff1f> in <module>()
----> 1 file = open('my_file.jpg','r')
FileNotFoundError: [Errno 2] No such file or directory: 'my_file.jpg'

それでは、Python での FileNotFoundError の解決策について説明しましょう。

解決策 1 - 完全なファイル パスを指定する

最初に確認することは、対象ファイルが正しいフォルダーにあるかどうかです。 コード ファイルと同じフォルダーにない場合は、コード ファイルと同じフォルダーに移動する必要があります。

これがオプションでない場合は、open 関数のファイル名パラメーターで完全なファイルのパスを指定する必要があります。 Windows では、ファイル パスは次のように機能します。

C:\Users\username\filename.filetype

ファイルへの完全なパスを open 関数で指定する必要があります。 ダミー パスを使用したコード例を以下に示します。

コード例:

# Python 3.x
file = open(r"C:\Folder1\Subfolder1\text.txt")

解決策 2 - 正しいファイル名と拡張子を指定する

開きたいファイル名と拡張子を再確認できます。 次に、open() メソッドに正しい名前を記述します。

my_file.txt を開きたいとします。 コードは次のようになります。

コード例:

# Python 3.x
file = open("my_file.txt", "r")
著者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

関連記事 - Python Error