중첩 폴더에서 모듈 가져오기
Python에서는 프로젝트 내의 다른 폴더에서 파일을 가져오는 것이 어려울 수 있습니다. 시나리오와 해당 솔루션을 살펴보겠습니다.
질문:
다음 폴더 구조를 고려하세요.
application ├── app │ └── folder │ └── file.py └── app2 └── some_folder └── some_file.py
라는 이름의 함수를 어떻게 가져올 수 있나요? file.py의 func_name some_file.py?
답변:
from application.app.folder.file import func_name을 사용하는 일반적인 접근 방식은 작동하지 않습니다. 이는 Python의 기본 가져오기 검색 경로에 하위 디렉터리가 포함되지 않기 때문입니다.
해결책:
이 제한 사항을 해결하려면 다음을 추가하여 런타임에 Python 검색 경로를 수정할 수 있습니다. 모듈을 가져오기 전에 원하는 디렉터리를 sys.path에 추가하세요. some_file.py의 예는 다음과 같습니다.
import sys # Caution: path[0] is reserved for the script path or '' in REPL sys.path.insert(1, '/path/to/application/app/folder') import file
이렇게 하면 가져온 모듈의 함수에 다음과 같이 액세스할 수 있습니다.
file.func_name()
참고:
이 접근 방식은 매우 구체적인 시나리오를 위한 것입니다. 일반적으로 코드를 패키지로 구성하는 것이 모듈성과 유지 관리 용이성을 위해 더 선호되는 솔루션입니다.
위 내용은 Python의 중첩 폴더에서 모듈을 어떻게 가져올 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!