आपने यह करने का सही तरीका अनुमान लगाया है, लेकिन मैं इसे थोड़ा और औपचारिक बना सकता हूं और आपको कहीं और मिले किसी अपेक्षा से स्पष्ट व्याख्या दे सकता हूं। यदि आप आयात को मॉड्यूलर करना चाहते हैं, जो आपके कोडिंग दर्शन के आधार पर स्वयं में और स्वयं (पारदर्शिता बनाम कोड पुन: उपयोग) का अच्छा या बुरा विचार हो सकता है, चाहे आयात __init__.py
में हो या नहीं, आप अपने आयात को किसी अन्य स्क्रिप्ट से आयात कर सकते हैं। उदाहरण के लिए: हालांकि
# To import form __init__
from . import *
नोट करना महत्वपूर्ण है कि:
"""import_scripts.py"""
import numpy as np
import scipy as sp
...
"""actual_code.py"""
from import_scripts import *
# np and sp are now in scope
__init__.py
से आयात ज्यादातर एक ही है, तो आप सिर्फ पारंपरिक रूप से एक रिश्तेदार आयात के बजाय यदि आप इसे एक ही मॉड्यूल से एक्सेस कर रहे हैं का उपयोग करें इस प्रकार के आयात केवल तभी काम करेंगे यदि आप स्क्रिप्ट के बजाए इन पायथन स्क्रिप्ट को मॉड्यूल के रूप में स्पष्ट रूप से चलाते हैं। इसका मतलब यह है:
python -m foo
बजाय
python foo.py
महत्वपूर्ण है, लेकिन सूक्ष्म भेद।
उम्मीद है कि मदद करता है। यदि आपको और प्रश्न पूछने हों तो मुझे बता दें।
स्रोत
2014-04-09 16:57:08
+1 सूक्ष्म भेद के लिए धन्यवाद! – ksindi