본문 바로가기
프로그래밍/Python

Python 하위/상위 폴더의 함수 import하는 법

by 허구의 2025. 7. 31.
728x90

Python 프로젝트가 커지면서 파일이 여러 폴더로 나뉘면, 다른 폴더에 있는 함수를 import해야 하는 일이 자주 발생합니다. 그러나 import 문법은 폴더 구조에 따라 다소 헷갈릴 수 있습니다.

본 글에서는 Python에서 하위 폴더, 상위 폴더에 있는 함수나 모듈을 import하는 방법을 정리하였습니다.

1. 현재 폴더의 함수 import

같은 폴더에 있는 파일은 파일명(.py 확장자 제외)으로 바로 import할 수 있습니다.

예시 구조

project/
├── main.py
└── utils.py

main.py

from utils import my_function
my_function()

 

 

2. 하위 폴더에 있는 함수 import

예시 구조

project/
├── main.py
└── helpers/
    ├── __init__.py
    └── math_utils.py

 

이때 __init__.py패키지로 인식시키기 위한 파일입니다 (내용은 비워도 됨).

 

main.py

from helpers.math_utils import add_numbers
add_numbers(1, 2)

 

또는:

import helpers.math_utils as mu
mu.add_numbers(1, 2)

 

3. 상위 폴더의 함수 import

기본적으로 Python은 현재 스크립트가 실행되는 폴더를 기준으로 경로를 찾습니다. 따라서 상위 폴더의 모듈을 바로 import할 수 없습니다. 이럴 땐 다음 두 가지 방법 중 하나를 사용합니다:

방법 1: sys.path.append 사용

# child/module.py에서 상위 폴더의 utils.py를 import
import sys
import os
sys.path.append(os.path.abspath(".."))  # 상위 폴더 경로 추가

from utils import helper_function

 

방법 2: 패키지 + 상대 경로 import (모듈이 패키지로 구성되어 있을 경우)

from ..utils import helper_function

 

주의: 이 방식은 python child/module.py처럼 직접 실행하면 작동하지 않고, python -m child.module처럼 -m 모듈 방식으로 실행해야 합니다.

 

감사합니다!

728x90