Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 모듈을 동적으로 가져오는 방법 완벽 가이드

파이썬 모듈 동적 임포트란?

파이썬에서 모듈을 동적으로 가져오려면 importlib 패키지의 import_module(moduleName) 함수를 사용하면 됩니다. 이때 모듈 이름은 문자열 형태로 전달해야 합니다. 실행 시점에 모듈 이름이 결정되거나, 설정 파일·사용자 입력에 따라 다른 모듈을 불러와야 할 때 이 방법이 특히 유용합니다.

import_module 기본 사용법

가장 간단한 예제를 살펴보겠습니다. 아래 코드는 'os'라는 문자열 이름으로 os 모듈을 동적으로 임포트하는 방법입니다.

>>> from importlib import import_module
>>> moduleName = "os"
>>> globals()[moduleName] = import_module(moduleName)

여러 모듈을 한 번에 동적으로 가져오기

동적으로 가져올 모듈이 여러 개라면 반복문(for loop) 안에서 이 함수를 호출할 수도 있습니다. 예를 들어 리스트에 담긴 모듈 이름들을 순회하면서 일괄 임포트하는 방식입니다.

>>> import importlib
>>> modnames = ["os", "sys", "math"]
>>> for lib in modnames:
...     globals()[lib] = importlib.import_module(lib)

globals()의 역할

globals() 함수는 현재 전역 심볼 테이블을 딕셔너리(dict) 형태로 반환합니다. 위 예제에서는 각 라이브러리 이름을 키(key)로 사용하고, 모듈을 임포트한 결과로 반환된 객체를 해당 키의 값(value)으로 설정합니다. 그 결과 마치 일반적인 import os, import sys, import math 문을 사용한 것처럼 전역 네임스페이스에서 모듈에 바로 접근할 수 있게 됩니다.

정리

모듈 이름을 미리 알 수 없거나 플러그인 시스템처럼 런타임에 모듈을 유연하게 로딩해야 하는 상황이라면, importlib.import_module()globals()를 조합하는 방식이 깔끔하고 효율적인 해결책이 됩니다.