Python의 상위 디렉토리에서 모듈 가져 오기
- 상대 가져 오기를 사용하여 Python의 상위 디렉토리에서 모듈 가져 오기
-
PYTHONPATH
에 추가하여 Python의 상위 디렉토리에서 모듈 가져 오기 -
sys.path.insert()
메소드를 사용하여 Python의 상위 디렉토리에서 모듈 가져 오기
이 튜토리얼은 Python의 상위 디렉토리에서 모듈을 가져 오는 다양한 방법을 설명합니다. 코드에서 다른 기능을 사용하기 위해 다른 모듈을 가져옵니다. 기능을 다시 복사하거나 구현하지 않아도되며 코드를 깔끔하고 이해하기 쉽게 만듭니다.
현재 프로젝트 디렉토리의 상위 디렉토리에서 모듈을 가져오고 싶다고 가정합니다. 아래에 설명 된 다른 방법을 사용하여 그렇게 할 수 있습니다.
상대 가져 오기를 사용하여 Python의 상위 디렉토리에서 모듈 가져 오기
상대 가져 오기는 현재 디렉토리 경로를 참조로 사용하여 코드에서 모듈을 가져 오는 데 사용됩니다. import
문을 사용하여 모듈을 가져 오려면 먼저 상위 디렉토리에__init__.py
파일을 추가하여 디렉토리를 패키지로 선언해야합니다. 상위 디렉토리가 패키지로 선언되면 상대 패키지 접근 방식을 사용하여 모듈을 가져올 수 있습니다.
다음 디렉토리 트리가 있다고 가정합니다.
parent_parent_directory/
parent_directory/
mymodule.py
__init__.py
current_directory/
currentmodule.py
mymodule.py
__init__.py
아래 예제 코드는 부모 패키지에서 모듈을 가져 오는 방법을 보여줍니다.
from ..parent_directory import mymodule
현재 디렉터리에서 두 수준 위의 디렉터리에서 모듈을 가져 오려면 아래 예제 코드와 같이 패키지 디렉터리 이름 앞에 세 개의 점을 넣어 두 수준 뒤로 이동해야합니다.
from ...parent_parent_directory import mymodule
PYTHONPATH
에 추가하여 Python의 상위 디렉토리에서 모듈 가져 오기
PYTHONPATH
는 Python이 모듈과 패키지를 가져 오기 위해 찾아야하는 디렉토리 목록을 지정하는 환경 변수입니다.
따라서 모듈을 가져와야하는 위치에서 부모 디렉터리를 추가하면 Python은 자동으로 부모 디렉터리를 살펴보고 필요한 모듈을 찾습니다.
sys.path.insert()
메소드를 사용하여 Python의 상위 디렉토리에서 모듈 가져 오기
또한sys.path.insert()
메소드를 사용하여 패키지 및 모듈을 찾을 경로를 지정하는 문자열 목록 인sys.path
목록에 상위 디렉토리를 추가 할 수 있습니다. sys.path
에는 PYTHONPATH 환경 변수 디렉토리 목록이 포함되어 있으며sys.path.insert()
메소드를 사용하여 다른 경로를 추가 할 수도 있습니다.
아래 예제 코드는sys.path.insert()
메소드를 사용하여 Python의sys.path
목록에 상위 디렉토리를 추가하는 방법을 보여줍니다.
import mymodule
import os
import sys
p = os.path.abspath(".")
sys.path.insert(1, p)