본문 바로가기

Python

상위, 하위, 동일 폴더 내 모듈 from, import 하기

728x90

아래와 같은 프로젝트가 존재한다고 가정한다.

project
  -- test
    +-- sub1
      -- __init__.py
      -- a.py
      -- b.py
    +-- sub2
      -- __init__.py
      -- c.py
      -- d.py
    -- e.py
    -- f.py
    -- __init__.py
  -- g.py

e.py에서 다른 모듈 참조 (하위 폴더 내 파일, 동일 폴더 내 파일 참조)

# a.py 참조시
from sub1 import a

# f.py 참조시
import f
from . import f

a.py에서 sub2에 있는 c.py 참조 (상위 폴더 내 파일 참조) -  부모폴더의 절대경로를 참조 path에 추가
- 모듈의 시작 부분 import 위에 아래와 같은 코드를 추가

# a.py 에서 c.py 참조시
import os, sys
sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))
import c

- 현재 모듈의 절대 경로를 알아내서 상위 폴더 절대경로를 참조 path에 추가하는 방식
- 1단계의 상위 폴더 경로를 추가할 때 사용
- a.py에서 g.py를 참조하는 경우 2단계 상위 폴더 경로를 추가해야 하므로 아래와 같음

# a.py에서 g.py 참조시
import os, sys
sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))))))
import g

[출처]
https://seongkyun.github.io/others/2019/04/29/python_import/

728x90

'Python' 카테고리의 다른 글

코드 실행시간 측정  (0) 2023.04.24
로깅  (0) 2023.04.24
특정기간 지난 파일 삭제  (0) 2023.04.24
사전(dict)  (0) 2023.04.24
모듈  (0) 2023.04.24