응용 프로그램이 main.py
을 통해 시작되는 한 현재 디렉토리 구조가 이상적입니다.
파이썬은 기본 스크립트의 상위 디렉토리를 항상 sys.path
(예 : folder
)의 시작 부분에 자동으로 추가합니다. 즉, 표준 libarary의 일부가 아닌 모듈과 패키지를 검색 할 때 가져 오기 기계가 해당 디렉토리에 우선 순위를 부여합니다.
이 주어지면과 같이, function.py
으로 classes.py
모듈을 가져올 수 있습니다
from items import classes
(class
는 파이썬 키워드이기 때문에, 내가 모듈을 이름을 변경 한 것을 참고).
from stuff import another
및 하위 패키지가 items
에 추가 된 경우, 당신은 모듈을 가져올 원 :
나중에
stuff
에 다른 모듈을 추가하고,
functions.py
로 가져올하고 싶다면
, 당신은 할 것 그에서, 당신은 할 것 :이 하향식 (top-down) 방식으로 지정
from items.subpackage import module
수입은 응용 프로그램 내 어떤 모듈에서 사용할 수 있습니다, 그들은 항상 relat 때문에 주 스크립트의 상위 디렉토리에 우선 순위가 있습니다.
부모 폴더를 PYTHONPATH ('sys.path.append (...)')에 추가하면 class.py에'from stuff init function' 만하면됩니다. 그것은 하나의 해결책입니다 ... – tamasgal
http://stackoverflow.com/questions/72852/how-to-relative-imports-in-python의 가능한 중복 – kdopen
확실한 중복 http://stackoverflow.com/questions/27215912/import -neighboring-module-in-python/27216343 # 27216343 – kdopen