Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

프로그래밍이 실행되는 동안 패키지에 Python 모듈을 어떻게 동적으로 추가합니까?


Python 모듈을 동적으로 가져오려면 importlib 패키지의 import_module(moduleName) 함수를 사용할 수 있습니다. moduleName이 문자열로 있어야 합니다. 예를 들어,

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

모듈 목록을 동적으로 가져오려면 for 루프에서 이를 호출할 수도 있습니다. 예를 들어,

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

globals() 호출은 사전을 반환합니다. 모듈을 가져올 때 반환되는 객체로 각 라이브러리의 lib 키를 설정할 수 있습니다.

패키지를 가져오고 이제 해당 모듈 중 하나를 동적으로 가져오려는 경우에도 동일한 기능을 사용하여 예상한 결과를 얻을 수 있습니다. 가져오려는 모듈에는 모듈 이름만이 아니라 전체 이름이 있어야 합니다. 예를 들어,

>>> import importlib
>>> pack = 'datetime'
>>> mod = 'date'
>>> globals()[pack] = importlib.import_module(pack)
>>> globals()[pack + '.' + mod] = importlib.import_module(pack + '.' + mod)