क्या एक पैकेज में सभी मॉड्यूल के नामों को सूचीबद्ध करने का एक सीधा तरीका है, बिना उपयोग किए __all__
?
उदाहरण के लिए, यह पैकेज दिया गया:
/testpkg
/testpkg/__init__.py
/testpkg/modulea.py
/testpkg/moduleb.py
मैं सोच रहा था कि इस तरह से कुछ करने के लिए एक मानक या अंतर्निहित तरीका है:
>>> package_contents("testpkg")
['modulea', 'moduleb']
पैकेज की निर्देशिका को खोजने के लिए मॉड्यूल खोज पथ के माध्यम से मैनुअल दृष्टिकोण को पुनरावृत्त करना होगा। एक तो उस निर्देशिका की सभी फाइलों को सूचीबद्ध कर सकता है, विशिष्ट नाम वाली पाई / pyc / pyo फ़ाइलों को फ़िल्टर कर सकता है, एक्सटेंशन स्ट्रिप कर सकता है और उस सूची को वापस कर सकता है। लेकिन ऐसा लगता है कि मॉड्यूल आयात तंत्र के लिए पहले से ही आंतरिक रूप से कुछ किया जा रहा है। क्या वह कार्यक्षमता कहीं उजागर है?