>  기사  >  백엔드 개발  >  Python에서 가져온 모듈을 나열하는 방법: sys.modules와 globals()

Python에서 가져온 모듈을 나열하는 방법: sys.modules와 globals()

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 08:17:02954검색

How to List Imported Modules in Python: sys.modules vs. globals()

Python에서 가져온 모듈 나열

Python 스크립트 내에서 가져온 모듈을 모두 나열하는 것은 디버깅 또는 종속성 분석과 같은 다양한 목적에 유용할 수 있습니다. . 이를 달성하기 위해 탐색할 수 있는 몇 가지 접근 방식이 있습니다.

한 가지 간단한 방법은 sys.modules 사전을 활용하는 것입니다. sys.modules.keys()에 액세스하면 가져온 모든 모듈의 이름을 나타내는 문자열 목록을 검색할 수 있습니다. 예를 들어 다음 코드가 있는 경우:

<code class="python">import os
import sys</code>

다음과 같이 가져온 모듈 목록을 얻을 수 있습니다.

<code class="python">module_names = sys.modules.keys()
print(module_names)</code>

이 접근 방식은 전역 범위에서 가져온 모든 모듈을 효과적으로 나열합니다. . 그러나 동일한 스크립트 내의 특정 함수나 클래스 내에서 가져온 모듈은 포함되지 않는다는 점은 주목할 가치가 있습니다.

로컬로 가져온 모듈을 포함하는 보다 포괄적인 보기를 보려면 globals() 함수를 검사할 수 있습니다. 이 함수는 현재 범위에 있는 모든 전역 변수의 사전을 반환합니다. 그런 다음 isinstance(val,types.ModuleType)를 사용하여 해당 유형을 확인하여 이 사전을 사용하여 모듈을 식별할 수 있습니다.

다음은 예제 코드입니다.

<code class="python">import types

def imports():
    for name, val in globals().items():
        if isinstance(val, types.ModuleType):
            yield val.__name__</code>

imports() 함수를 호출하면 전역 변수를 반복하고 가져온 모든 모듈의 이름을 산출합니다. 이 방법은 로컬 가져오기 또는 from x import y와 같은 비모듈 가져오기를 고려하지 않는다는 점을 명심하세요.

전반적으로 sys.modules 사전 또는 globals() 함수를 활용하면 효과적으로 열거할 수 있습니다. 가져온 모든 모듈을 Python으로 제공하여 필요한 정보의 깊이에 따라 유연성을 제공합니다.

위 내용은 Python에서 가져온 모듈을 나열하는 방법: sys.modules와 globals()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.