दिलचस्प रूप से पर्याप्त, os.path का आयात करना सभी os को आयात करेगा। इंटरएक्टिव प्रॉम्प्ट में निम्नलिखित प्रयास करें:
import os.path
dir(os)
परिणाम वैसा ही होगा, जैसे आप सिर्फ ओएस आयात करते हैं। ऐसा इसलिए है क्योंकि os.path एक अलग मॉड्यूल को संदर्भित करेगा, जिसके आधार पर आपके पास ऑपरेटिंग सिस्टम है, इसलिए पथ के लिए लोड करने के लिए किस मॉड्यूल को निर्धारित करने के लिए अजगर ऑस को आयात करेगा।
संदर्भ
कुछ मॉड्यूल के साथ, यह कहना कि यह import foo
उजागर नहीं होगा foo.bar
, इसलिए मुझे लगता है कि यह वास्तव में विशिष्ट मॉड्यूल के डिजाइन पर निर्भर करता है।
सामान्य तौर पर, आपके द्वारा आवश्यक सुस्पष्ट मॉड्यूलों को आयात करना थोड़ा तेज होना चाहिए। मेरी मशीन पर:
import os.path
: 7.54285810068e-06
सेकंड
import os
: 9.21904878972e-06
सेकंड
ये समय काफी नगण्य होने के करीब है। आपके कार्यक्रम को os
अभी या बाद के समय से अन्य मॉड्यूल का उपयोग करने की आवश्यकता हो सकती है , इसलिए आमतौर पर यह सिर्फ दो माइक्रोसेकंड का त्याग करने और import os
बाद में इस त्रुटि से बचने के लिए उपयोग करने के लिए समझ में आता है । मैं आमतौर पर केवल एक पूरे के रूप में ओएस का आयात करता हूं, लेकिन यह देख सकता हूं कि क्यों कुछ import os.path
तकनीकी रूप से अधिक कुशल होना पसंद करेंगे और कोड के पाठकों को बताएंगे कि यह os
मॉड्यूल का एकमात्र हिस्सा है जिसे उपयोग करने की आवश्यकता होगी। यह अनिवार्य रूप से मेरे दिमाग में एक शैली के सवाल को उबालता है।