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")
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
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません