파이썬, 부모 경로에 있는 디렉터리 import 

 

글. 수알치 오상문

 

홈 ──
      ├─ sub1 ─ module1.py
      │  
      ├─ sub2 ─ module2.py ... func()

 

예를 들어 sub1에 있는 module1.py에서 module2.py에 접근하는 경우이다. 

그렇게 하려면 부모 디렉터리(홈)을 기준으로 아래로 내려가야 한다. 

 

검색을 하면 다른 방법도 있겠지만, 아래 예제처럼 처리하는 방법도 가능하다.

 

 

import sys
import os
                                           # 현재 경로는 ...\sub1 경로이다.
cd = os.getcwd().split("\\")   # 현재 경로를 얻고, '\'로 분리한다.
pcd = "/".join(cd[:-1])           # 한 단계 앞까지만 선택하면 부모 경로가 된다.
sys.path.append(pcd)         # 부모 경로를 파이썬 검색 경로에 추가한다.

# 이제 부모 경로를 기준으로 검색 가능하므로 sub2를 찾을 수 있다.
from sub2 import module

module.func()                    # sub2\module.py에 있는 func 함수 호출도 가능하다.
       

반응형

+ Recent posts