कभी कभी, अगर जवाब बहुत स्पष्ट नहीं है (मैं आप अगर हाँ या नहीं तय नहीं कर सकता मतलब), तो यह बात बहुत ज्यादा होता है, और जब तक इस सवाल का जवाब आप इस समस्या को अनदेखा कर सकते हैं है स्पष्ट।
#!
एकमात्र उद्देश्य स्क्रिप्ट शुरू करने के लिए है। Django स्रोतों को अपने दम पर लोड करता है और उनका उपयोग करता है। यह कभी भी तय करने की आवश्यकता नहीं है कि दुभाषिया का क्या उपयोग किया जाना चाहिए। इस तरह, #!
वास्तव में यहाँ कोई मतलब नहीं है।
आम तौर पर, यदि यह एक मॉड्यूल है और स्क्रिप्ट के रूप में उपयोग नहीं किया जा सकता है, तो उपयोग करने की कोई आवश्यकता नहीं है #!
। दूसरी ओर, एक मॉड्यूल स्रोत में अक्सर if __name__ == '__main__': ...
कार्यक्षमता के कम से कम कुछ तुच्छ परीक्षण होते हैं। तब फिर से #!
समझ में आता है।
उपयोग करने का एक अच्छा कारण #!
यह है कि जब आप पायथन 2 और पायथन 3 दोनों लिपियों का उपयोग करते हैं - तो उन्हें पायथन के विभिन्न संस्करणों द्वारा व्याख्या की जानी चाहिए। इस तरह, आपको यह याद रखना python
होगा कि स्क्रिप्ट को मैन्युअल रूप से लॉन्च करते समय ( #!
अंदर के बिना ) क्या उपयोग किया जाना चाहिए । यदि आपके पास इस तरह की लिपियों का मिश्रण है, तो #!
अंदर का उपयोग करना , उन्हें निष्पादन योग्य बनाना और उन्हें निष्पादन योग्य (चामोद ...) के रूप में लॉन्च करना एक अच्छा विचार है ।
एमएस-विंडोज का उपयोग करते समय, #!
कोई मतलब नहीं था - हाल ही में जब तक। पायथन 3.3 एक विंडोज पायथन लॉन्चर (py.exe और pyw.exe) का परिचय देता है जो #!
लाइन को पढ़ता है , पायथन के स्थापित संस्करणों का पता लगाता है, और पायथन के सही या स्पष्ट रूप से वांछित संस्करण का उपयोग करता है। चूंकि एक्सटेंशन एक प्रोग्राम से जुड़ा हो सकता है, आप विंडोज में उसी तरह का व्यवहार प्राप्त कर सकते हैं जैसे यूनिक्स-आधारित सिस्टम में फ्लैग को निष्पादित करते हैं।