importlib은 프로그램 실행 도중에 동적으로 모듈을 임포트하고, 모듈의 내용을 조작하는 기능을 제공import 문이 제공하는 기능을 보다 세밀하게 제어할 수 있게 해주며, 특히 프로그램 실행 중에 모듈 이름이 결정되는 경우 유용importlib 사용 목적importlib 기본 사용 방법import importlib
# 문자열로 주어진 모듈 이름을 동적으로 임포트합니다.
module_name = "math"
math_module = importlib.import_module(module_name)
# 임포트된 모듈의 함수 사용 예
result = math_module.sqrt(16) # 4.0
import_module 함수는 주어진 모듈 이름에 해당하는 모듈을 임포트하고, 해당 모듈 객체를 반환합니다.
import importlib
# 모듈을 임포트합니다.
import some_module
# 모듈을 다시 로드합니다.
importlib.reload(some_module)
reload 함수는 이미 임포트된 모듈을 다시 로드합니다. 이를 통해 모듈의 최신 버전을 사용할 수 있습니다. 개발 중에 코드를 수정한 후 변경 사항을 반영하고자 할 때 유용합니다.
importlib는 파이썬의 임포트 메커니즘을 완전히 제어할 수 있는 여러 고급 기능도 제공합니다. 예를 들어, importlib.abc에 정의된 추상 베이스 클래스를 사용하여 커스텀 임포트 로직을 구현하거나, importlib.util에 있는 함수를 사용하여 모듈 스펙을 직접 조작하는 등의 작업이 가능합니다. 이러한 고급 기능은 파이썬의 임포트 시스템을 깊이 이해하고 있을 때 사용하는 것이 좋습니다.