मैं अपने स्वयं के उपयोग के लिए कुछ मॉड्यूल व्यवस्थित करने का प्रयास कर रहा हूं। मेरे पास कुछ इस तरह है:
lib/
__init__.py
settings.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
में lib/__init__.py
, मैं कुछ वर्गों प्रयोग की जाने वाली परिभाषित करने के लिए अगर मैं lib आयात करना चाहते हैं। हालाँकि, मैं कक्षाओं को फ़ाइलों में अलग किए बिना इसे समझ नहीं सकता, और उन्हें आयात कर सकता हूं __init__.py
।
कहने के बजाय:
lib/
__init__.py
settings.py
helperclass.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
from lib.settings import Values
from lib.helperclass import Helper
मुझे कुछ इस तरह चाहिए:
lib/
__init__.py #Helper defined in this file
settings.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
from lib.settings import Values
from lib import Helper
क्या यह संभव है, या क्या मुझे कक्षा को किसी अन्य फ़ाइल में अलग करना है?
संपादित करें
ठीक है, अगर मैं किसी अन्य स्क्रिप्ट से आयात करता हूं, तो मैं हेल्पर वर्ग तक पहुंच सकता हूं। मैं सेटिंग्स-थ्रू से हेल्पर वर्ग तक कैसे पहुंच सकता हूं?
यहां उदाहरण इंट्रा-पैकेज संदर्भ का वर्णन करता है। मैं बोली "सबमॉड्यूल को अक्सर एक दूसरे को संदर्भित करने की आवश्यकता होती है"। मेरे मामले में, lib.settings.py