프로그래밍언어/Python

[모듈1]Python 모듈화 방법

CodeMasterSong 2025. 4. 16. 01:01
반응형

Python 모듈 가져오는 방법 정리

📁 같은 폴더 vs 외부 폴더에서 나만의 모듈 불러오기

 

Python에서 내가 만든 함수를 다른 파일에서 재사용하려고 할 때 import 방법이 달라지기도 합니다.
이번 글에서는 다음 두 가지 상황을 비교하며 설명합니다:

  1. 같은 폴더 내에 있는 파일을 import 하는 방법
  2. C 드라이브 다른 위치(ex. C:/extraModule)에 있는 파일을 import 하는 방법

📁 전체 폴더 구조

C:/
├── extraModule/
│   └── util/
│       ├── init.py
│       └── calculator.py      ✅ 외부 모듈
│
└── moduleTest/
    ├── mainTest.py            ✅ 실행 파일
    └── strlib.py              ✅ 같은 폴더의 유틸

✅ 1. 같은 폴더 내 모듈 불러오기 (strlib.py)

같은 디렉토리에 있는 파일은 아주 쉽게 불러올 수 있습니다.

📄 strlib.py (C:/moduleTest/strlib.py)

def setup_string(data):
    return data

def should_terminate(text):
    return "종료" in text
 

📄 mainTest.py (같은 폴더에서 불러오기)

import strlib  # 같은 폴더에 있는 파일은 바로 import 가능

text = strlib.setup_string("오늘 하루가 잘 마무리 되었습니다.")
print(strlib.should_terminate(text))  # False
 

별도 설정 없이 바로 import 가능 합니다. 파일 이름을 모듈로 생각하고 import 합니다.


✅ 2. 외부 폴더(다른 경로)에 있는 모듈 불러오기 (calculator.py)

외부 폴더에 있는 파일은 파이썬이 기본적으로 모듈로 인식하지 못하므로 경로를 수동으로 등록해주어야 합니다.

📄 calculator.py (C:/extraModule/util/calculator.py)

def sum(a, b):
    return a + b

def minus(a, b):
    return a - b
 
📄 mainTest.py (외부 폴더에서 불러오기)
import sys
import os

# 외부 모듈 경로 등록
external_path = "C:/extraModule/util"
if external_path not in sys.path:
    sys.path.append(external_path)

import calculator  # 외부 경로에 있는 파일

print(calculator.sum(1, 2))     # 3
print(calculator.minus(1, 2))   # -1

🔍 핵심 정리

구분 방법 예시
같은 폴더 그냥 import import strlib
외부 폴더 sys.path.append() 후 import sys.path.append("C:/extraModule/util")
import calculator

💡 기억할 부분

  • sys.path.append()는 import 전에 반드시 실행해야 합니다.
  • 경로는 절대경로(C:/...)를 사용하는 것이 가장 안전합니다.
  • 외부 폴더에 __init__.py 파일이 있다면 패키지처럼 관리할 수 있습니다.

✅ 실행 방법

터미널에서 다음과 같이 실행하세요:

cd C:\moduleTest
python mainTest.py

🧠 마무리

mainTest.py 기준으로 다음과 같은 2 경우에 대한 import가 자주 사용될 수 있습니다. 

  • 같은 경로의 모듈은 바로 import
  • 다른 경로에 있는 모듈은 sys.path.append()로 등록 후 import

물론 다른 경로에 있는 모듈 사용하는 또 다른 방법들이 제공됩니다. 

반응형