Python 파일을 찾을 수 없음 오류
FileNotFoundError
는 Python이 열려는 파일을 찾는 데 문제가 있을 때 발생하는 인기 있는 오류입니다. 이 기사에서는 Python의 FileNotFoundError
와 그 솔루션에 대해 설명합니다.
파이썬의 파일 I/O
파이썬에는 파일을 수정하는 데 사용되는 내장 함수가 있습니다. 파일은 컴퓨터의 저장 장치에 저장된 개체입니다.
파이썬의 open()
함수는 파일을 여는 데 사용됩니다. 여기에는 두 개의 매개변수가 있습니다.
모수 | 설명 |
---|---|
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 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.