함수 이름이 있는 문자열을 사용하여 함수를 어떻게 호출합니까? 예를 들어:
import foo
func_name = "bar"
call(foo, func_name) # calls foo.bar()
함수 이름이 있는 문자열을 사용하여 함수를 어떻게 호출합니까? 예를 들어:
import foo
func_name = "bar"
call(foo, func_name) # calls foo.bar()
foo
다음 과 같은 방법 이 있는 모듈 이 제공됩니다 bar
.
import foo
bar = getattr(foo, 'bar')
result = bar()
getattr
클래스 인스턴스 바인딩 메서드, 모듈 수준 메서드, 클래스 메서드에서 유사하게 사용할 수 있습니다. 목록은 계속됩니다.
Patrick의 솔루션 을 기반으로 모듈을 동적으로 가져오려면 다음을 사용하여 가져옵니다.
module = __import__('foo')
func = getattr(module, 'bar')
func()