사용하지 않고 패키지의 모든 모듈 이름을 나열하는 간단한 방법이 __all__
있습니까?
예를 들어 다음 패키지가 제공됩니다.
/testpkg
/testpkg/__init__.py
/testpkg/modulea.py
/testpkg/moduleb.py
다음과 같은 작업을 수행하는 표준 또는 기본 제공 방법이 있는지 궁금합니다.
>>> package_contents("testpkg")
['modulea', 'moduleb']
수동 접근 방식은 패키지의 디렉토리를 찾기 위해 모듈 검색 경로를 반복하는 것입니다. 그런 다음 해당 디렉토리의 모든 파일을 나열하고 고유 한 이름의 py / pyc / pyo 파일을 필터링하고 확장명을 제거하고 해당 목록을 반환 할 수 있습니다. 그러나 이것은 모듈 가져 오기 메커니즘이 이미 내부적으로 수행하고있는 작업에 상당한 양의 작업처럼 보입니다. 그 기능이 어디에나 노출되어 있습니까?