정리/Python
Python sys.path 를 사용해서 특정 경로 파일 임포트
워로디스
2026. 5. 3. 22:53
아래처럼 사용자 파일이 있는 폴더 경로를 sys.path에 추가하면, 그 폴더 안의 .py 파일을 일반 모듈처럼 import할 수 있습니다.
예시 폴더 구조:
my_project/
├─ main.py
└─ user_files/
└─ my_module.py
user_files/my_module.py
def hello(name):
return f"Hello, {name}!"
main.py
import sys
from pathlib import Path
# 현재 파일(main.py)이 있는 폴더
BASE_DIR = Path(__file__).resolve().parent
# 사용자가 만든 파이썬 파일들이 있는 폴더
USER_FILE_DIR = BASE_DIR / "user_files"
# sys.path에 해당 폴더 추가
sys.path.insert(0, str(USER_FILE_DIR))
# 이제 user_files/my_module.py 를 import 가능
import my_module
result = my_module.hello("Alice")
print(result)
실행 결과:
Hello, Alice!
핵심은 이 부분입니다.
sys.path.insert(0, str(USER_FILE_DIR))
sys.path는 파이썬이 모듈을 찾는 경로 목록입니다. 여기에 사용자의 파일이 들어 있는 디렉터리를 추가하면, 그 안의 .py 파일을 import할 수 있습니다.
예를 들어 /home/user/custom_modules/tool.py를 불러오고 싶다면:
import sys
sys.path.insert(0, "/home/user/custom_modules")
import tool
단, tool.py처럼 파일명에서 .py는 빼고 import 해야 합니다.
import tool # 맞음
import tool.py # 틀림