मैं पुरानी पायथन कोड का एक गुच्छा बदल रहा हूं जो कभी-कभी संकुल के बीच नाम टकराव में चल रहा है। मेरे पास एक सवाल है कि पूर्ण आयात का उपयोग कब किया जाना चाहिए और क्या यह केवल नाम से समान स्तर के मॉड्यूल आयात करना उचित होगा।पूर्ण आयात का उपयोग कब करें
import package.subX.moduleX
या
from package.subX import moduleX
क्या सबपैकेज में के बारे में __init__.py
फ़ाइलें:
/package/
/package/__init__.py
/package/subA
/package/subA/__init__.py
/package/subA/moduleA.py
/package/subA/moduleB.py
/package/subB
/package/subB/__init__.py
/package/subB/moduleA.py
/package/subB/moduleB.py
पैकेज के भीतर हर इंपोर्ट स्टेटमेंट तरह दिखना चाहिए। यह बस
import moduleA
import moduleB
डाल करने के लिए या /package/subA/moduleA.py में, गलत होगा, यह गलत होगा करने के लिए सीधे शब्दों में:
import moduleB
आप सकता है हमेशा उपनाम के रूप में अच्छी तरह से करता है, तो आप के रूप में, अपने कोड भर में कुछ पात्रों को सहेजना चाहते 'a_moduleA' रूप package.subA आयात moduleA और से' b_moduleA' रूप package.subB आयात moduleA से, एक तरह से गंदा लगता है मेरे लिए, लेकिन यह एक और विकल्प है ... – photoionized
[पाइथन मॉड्यूल के पूर्ण बनाम स्पष्ट सापेक्ष आयात] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/4209641/absolute-vs-explicit-relative-import-of- पायथन-मॉड्यूल) – Stefano