파이썬에서 'No Such File or Directory' 오류 해결하기
구글에 "파이썬 파일 입출력 오류"라고 검색하면 수많은 해결책이 나오지만, 정작 핵심을 찌르는 답변은 찾기 어렵다. 그래서 내가 직접 경험한 내용을 토대로 이 오류를 어떻게 해결했는지 공유하려고 한다.
왜 이런 오류가 발생하는가?
먼저, 'No Such File or Directory'라는 오류는 말 그대로 해당 파일이나 디렉토리가 없을 때 발생한다. 하지만 분명히 파일이 존재하는데도 불구하고 이런 오류를 만나면 당황스럽기 마련이다.
내가 이 문제를 처음 겪은 때는 파이썬으로 간단한 스크립트를 작성하고 있었을 때였다. 파일을 열어서 내용을 읽으려고 했는데, 계속해서 오류가 발생했다.
해결 방법 1: 파일 경로 확인
가장 먼저 해야 할 일은 파일 경로를 정확히 확인하는 것이다. 파이썬 스크립트와 파일이 같은 디렉토리에 있는지, 아니면 절대 경로를 사용해야 하는지 체크해보자.
# 상대 경로 사용
with open('data.txt', 'r') as file:
content = file.read()
# 절대 경로 사용
with open('/Users/username/projects/data.txt', 'r') as file:
content = file.read()
나는 파일이 같은 디렉토리에 있다고 생각하고 상대 경로를 사용했는데, 실제로는 다른 위치에 있어서 오류가 났다. 파일 탐색기를 통해 정확한 위치를 확인하고 경로를 수정하니 문제가 해결되었다.
해결 방법 2: 경로에 특수 문자나 공백 확인
파일 경로에 공백이나 특수 문자가 있으면 인식하지 못할 수 있다. 특히 윈도우에서는 이런 문제가 자주 발생한다.
# 잘못된 예시
with open('C:\My Documents\data.txt', 'r') as file:
content = file.read()
# 올바른 예시
with open('C:\\My Documents\\data.txt', 'r') as file:
content = file.read()
처음에 역슬래시 하나로 경로를 지정했다가 오류가 났다. 역슬래시를 두 번 쓰거나, 슬래시를 사용해야 한다는 것을 깨닫고 수정했다.
해결 방법 3: 작업 디렉토리 확인
스크립트를 실행하는 곳과 파일이 있는 곳이 다르면 문제가 발생할 수 있다. 특히 IDE나 터미널에서 실행할 때 현재 작업 디렉토리를 확인해야 한다.
import os
print(os.getcwd())
위 코드를 통해 현재 작업 디렉토리를 출력해보니 예상과 다른 위치였다. 그래서 os.chdir()
함수를 사용해서 디렉토리를 변경했다.
os.chdir('/Users/username/projects')
해결 방법 4: 파일 이름 오타 확인
가장 간단하지만 놓치기 쉬운 부분이다. 파일 이름에 오타가 없는지, 확장자가 정확한지 다시 한 번 확인해보자.
나는 data.txt
대신에 date.txt
로 입력해서 한참을 헤맸다. 파일 이름을 복사해서 붙여넣으니 문제가 해결되었다.
마무리하며
사실 이런 오류는 초반에 많이 겪게 되지만, 익숙해지면 자연스럽게 피할 수 있게 된다. 중요한 것은 오류가 발생했을 때 당황하지 말고 차근차근 문제의 원인을 찾아가는 것이다.
파이썬을 사용하면서 수많은 오류를 만나겠지만, 그만큼 성장의 발판이 될 것이다. 여러분도 오류를 극복하고 더 나은 개발자가 되길 바란다.
'파이썬 코딩 기록' 카테고리의 다른 글
[Python] 파이썬 리스트 입력 받기 (예제 코드 포함) (0) | 2024.12.26 |
---|---|
파이썬 다른 파일 함수 호출하는 방법 (예시 코드 포함, 복붙하셈) (1) | 2024.12.26 |
[파이썬] for 문, 반복문 사용 방법(코딩 예제 포함) (0) | 2024.12.25 |
파이썬으로 네트워크 패킷 스니핑 구현하기: 기초부터 실습까지 (1) | 2024.12.21 |
크롬 드라이버 특정 버전 다운 받는법, 모든 버전 보는법(chromedriver.exe 특정 버전 다운받기) (0) | 2024.12.16 |