OSError 해결: [Errno 2] Python에 그러한 파일 또는 디렉토리가 없습니다.

Fariba Laiq 2023년6월21일
  1. Python의 OSError: [Errno 2] No Such File or Directory
  2. Python에서 OSError: [Errno 2] No Such File or Directory 해결
OSError 해결: [Errno 2] Python에 그러한 파일 또는 디렉토리가 없습니다.

Python에서 프로그램을 실행할 때 종종 오류에 직면합니다. 이 기사에서는 Python의 OSError: [Errno 2] No such file or directory에 대해 설명합니다.

Python의 OSError: [Errno 2] No Such File or Directory

OSError: [Errno 2] No such file or directory는 OS 라이브러리에서 생성됩니다. 이 오류는 액세스하려는 파일 또는 디렉토리를 사용할 수 없을 때 발생합니다.

두 가지 중요한 이유 때문에 발생합니다. 열려고 하는 파일 또는 폴더가 존재하지 않거나 해당 파일 또는 폴더의 잘못된 경로를 입력하고 있습니다.

Python은 프로그램에서 참조하는 파일에 액세스하지 않고는 프로그램을 더 이상 실행할 수 없음을 사용자에게 알리기 위해 이 오류를 발생시킵니다. Python 버전 3에서는 FileNotFoundError: [Errno 2] No such file or directory를 얻습니다.

이 오류는 OSError의 하위 클래스이며 Ubuntu OS에서 이 코드를 실행합니다.

예제 코드:

# Python 3.x
import os
import sys

os.chdir(os.path.dirname(sys.argv[0]))

python mycode.py를 사용하여 스크립트를 실행하면 아래 출력이 표시됩니다.

출력:

#Python 3.x
Traceback (most recent call last):
  File "mycode.py", line 3, in <module>
    os.chdir(os.path.dirname(sys.argv[0]))
FileNotFoundError: [Errno 2] No such file or directory: ''

Python에서 OSError: [Errno 2] No Such File or Directory 해결

경로를 지정하지 않으면 sys.argv[0]mycode.py에 액세스하고 os.path.dirname은 경로를 결정할 수 없습니다. 다음 스크립트를 실행하여 python ./mycode.py 명령을 사용하여 오류를 해결할 수 있습니다.

# Python 3.x
import os
import sys

os.chdir(os.path.dirname(sys.argv[0]))
print("Hello")

출력:

#Python 3.x
Hello

이 오류를 해결하는 다른 방법은 위의 코드를 다음과 같은 방식으로 작성하는 것입니다. sys.argv[0]는 디렉토리가 아니라 스크립트 이름일 뿐이므로 os.path.dirname()은 아무 것도 반환하지 않습니다.

os.path.abspath()를 사용하여 디렉토리 이름이 있는 올바른 절대 경로로 변환됩니다. python mycode.py 명령을 사용하여 다음 코드를 실행합니다.

# Python 3.x
import os
import sys

os.chdir(os.path.dirname(os.path.abspath(sys.argv[0])))
print("Hello")

출력:

#Python 3.x
Hello
작가: 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