OSError 해결: [Errno 2] Python에 그러한 파일 또는 디렉토리가 없습니다.
-
Python의
OSError: [Errno 2] No Such File or Directory
-
Python에서
OSError: [Errno 2] No Such File or Directory
해결
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
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 객체에 속성이 없습니다.