Python의 하위 디렉터리에서 모듈 가져 오기
이 튜토리얼은 Python의 하위 디렉토리에서 모듈을 가져 오는 다양한 방법을 설명합니다. 프로젝트 디렉토리의 하위 디렉토리에 파일이 있고 파일을 가져 와서 코드에서 메서드를 사용한다고 가정합니다.
하위 디렉토리를 패키지로 선언하여 Python의 하위 디렉토리에서 파일을 가져올 수 있습니다. 그래서 파이썬은 그것을 패키지로 취급하고 우리는 그 디렉토리에 대한 파일을 가져올 수 있습니다. 다른 옵션은PYTHONPATH
환경 변수에 하위 디렉토리를 추가하는 것이며, 이는 Python이 기본적으로 가져올 패키지를 찾는 경로입니다. 이러한 방법의 세부 사항 및 사용은 다음과 같습니다.
__init__.py
를 사용하여 Python의 하위 디렉토리에서 모듈 가져 오기
__init__.py
파일은 디렉토리를 패키지로 선언하는 데 사용됩니다. __init__.py
파일은 Python이 동일한 이름의 디렉토리를 혼합하는 것을 방지하므로 단순 디렉토리와 패키지를 구별하기 위해__init__.py
파일이 사용됩니다.
__init__.py
파일은 비어 있거나 패키지를 초기화하는 데 필요한 코드와 패키지와 함께 가져 오는 데 필요한 모듈 목록을 포함 할 수 있습니다. 이 목록은__all__
변수로 표시됩니다.
__init__.py
파일이 하위 디렉토리에 추가되면 다음 예제 코드와 같이 하위 디렉토리에서 파일을 가져올 수 있습니다.
import subdirectory.myfile
sys.path.insert()
메소드를 사용하여 Python의 하위 디렉토리에서 모듈 가져 오기
하위 디렉토리에서 파일을 가져 오는 다른 방법은 해당 디렉토리를PYTHONPATH
에 추가하는 것입니다. PYTHONPATH
는 Python이 패키지를 가져 오기 위해 검색하는 디렉토리의 경로를 포함하는 환경 변수입니다.
따라서sys.path.insert()
메소드를 사용하여PYTHONPATH
에 하위 디렉토리를 추가하면 Python은 먼저PYTHONPATH
의 디렉토리를 살펴보고 여기에서 가져옵니다.
sys.path.insert()
메소드는 Python이 필수 모듈을 가져 오기 위해 검색 할 디렉토리 목록을 포함하는sys.path
또는PYTHONPATH
변수에 하위 디렉토리를 삽입합니다.
아래 예제 코드는sys.path.insert()
메소드를 사용하여 하위 디렉토리에서 파일을 가져 오는 방법을 보여줍니다.
import myfile
import sys
sys.path.insert(0, "./subdirectory")