Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Python/파이썬] 동적 import와 함수 호출 방법 본문
파이썬에서는 모듈이나 함수를 동적으로(import 시점이 아닌 실행 중에) 불러와서 사용할 수 있습니다. 이를 통해 코드의 유연성을 높일 수 있고, 필요한 모듈이나 함수를 필요한 시점에만 로드하여 메모리를 절약할 수 있습니다. 이번 글에서는 파이썬에서 동적으로 모듈을 import하고 함수를 호출하는 방법에 대해 살펴보겠습니다.
1. importlib 모듈 사용하기
Python의 importlib
모듈을 사용하여 동적으로 모듈을 import할 수 있습니다. import_module()
함수를 사용하여 모듈을 동적으로 import하고, getattr()
함수를 사용하여 해당 모듈에서 함수를 동적으로 호출할 수 있습니다.
import importlib
# 모듈 동적으로 import
module = importlib.import_module('module_name')
# 함수 동적으로 호출
result = getattr(module, 'function_name')()
2. __import__() 함수 사용하기
Python의 내장 함수 __import__()
를 사용하여 동적으로 모듈을 import할 수도 있습니다. 이 함수는 문자열로 된 모듈 이름을 받아 해당 모듈을 import합니다. 함수를 호출하는 방법은 동일합니다.
# 모듈 동적으로 import
module = __import__('module_name')
# 함수 동적으로 호출
result = getattr(module, 'function_name')()
3. exec() 함수 사용하기
exec()
함수를 사용하여 문자열로 된 파이썬 코드를 실행할 수 있습니다. 이를 활용하여 동적으로 모듈을 import하고 함수를 호출할 수 있습니다.
# 모듈 동적으로 import
exec('import module_name')
# 함수 동적으로 호출
result = eval('module_name.function_name()')
예제 코드:
importlib 모듈 사용하기
import importlib
# 모듈 동적으로 import
module = importlib.import_module('module_name')
# 함수 동적으로 호출
result = getattr(module, 'function_name')()
__import__() 함수 사용하기
# 모듈 동적으로 import
module = __import__('module_name')
# 함수 동적으로 호출
result = getattr(module, 'function_name')()
exec() 함수 사용하기
# 모듈 동적으로 import
exec('import module_name')
# 함수 동적으로 호출
result = eval('module_name.function_name()')