IT박스

모듈 자체 내부의 모듈에 대한 참조를 얻는 방법은 무엇입니까?

itboxs 2020. 6. 23. 07:58

모듈 자체 내부의 모듈에 대한 참조를 얻는 방법은 무엇입니까?


해당 모듈 내에서 모듈에 대한 참조를 얻으려면 어떻게해야합니까? 또한 해당 모듈이 포함 된 패키지에 대한 참조를 얻는 방법은 무엇입니까?


import sys
current_module = sys.modules[__name__]

해당 모듈에 __module__클래스가있는 경우 클래스 속성은 클래스의 모듈 이름입니다. 따라서를 통해 모듈에 액세스 할 수 있습니다 sys.modules[klass.__module__]. 이것은 기능에도 적용됩니다.


sys 모듈을 가져 오지 않는 또 다른 기술은 취향에 따라 다릅니다.

current_module = __import__(__name__)

가져 오기가 없습니다. 파이썬은 각 모듈을 한 번만 가져옵니다.


다음을 사용하여 현재 모듈의 이름을 얻을 수 있습니다 __name__

모듈 참조는 sys.modules사전 에서 찾을 수 있습니다 .

파이썬 문서를 참조하십시오


외부에서 전달할 수 있습니다.

mymod.init(mymod)

이상적이지는 않지만 현재 사용 사례에 적합합니다.

참고 URL : https://stackoverflow.com/questions/1676835/how-to-get-a-reference-to-a-module-inside-the-module-itself