इस खंड में हम अजगर का उपयोग करके एक कमांड लाइन इंटरफ़ेस विकसित करने जा रहे हैं। लेकिन इससे पहले कि हम कार्यक्रम में गहराई से उतरें, आइए पहले कमांड लाइन को समझें।
कमांड लाइन कंप्यूटर प्रोग्राम के अस्तित्व के बाद से उपयोग में है और कमांड पर बनी है। कमांड लाइन प्रोग्राम एक ऐसा प्रोग्राम है जो शेल या कमांड लाइन से चलता है
जबकि कमांड लाइन इंटरफ़ेस उपयोगकर्ता इंटरफ़ेस प्रदान करता है जो माउस का उपयोग करने के बजाय टर्मिनलों, शेल्स या कंसोल पर कमांड टाइप करके नेविगेट किया जाता है।
एक कमांड-लाइन इंटरफ़ेस (CLI) एक निष्पादन योग्य के साथ शुरू होता है। ऐसे पैरामीटर हैं जिन्हें हम स्क्रिप्ट में पास कर सकते हैं, यह निर्भर करता है कि वे कैसे विकसित होते हैं, जैसे:
-
तर्क :हमें यह पैरामीटर प्रदान करने की आवश्यकता है जो स्क्रिप्ट को पास किया गया है। यदि हम इसे प्रदान नहीं करते हैं, तो सीएलआई एक त्रुटि के माध्यम से करेगा। उदाहरण के लिए, इस कमांड में numpy तर्क है:pip installnumpy।
-
विकल्प :एक वैकल्पिक पैरामीटर जो एक नाम और एक मूल्य जोड़ी के साथ आता है जैसे:pip install django -cache-dir ./my-cache-dir जहां -cache_dir एक विकल्प परम है और मान ./my-cache-dir के रूप में उपयोग किया जाना चाहिए कैश निर्देशिका।
-
झंडे :एक अन्य वैकल्पिक पैरामीटर जो स्क्रिप्ट को एक निश्चित व्यवहार को सक्षम या अक्षम करने के लिए कहता है, उदाहरण के लिए -हेल्प पैरामीटर।
पायथन कमांड लाइन इंटरफेस जैसे 'क्लिक' लिखने के लिए कई पायथन पैकेज प्रदान करता है। क्लिक हमें कोड की बहुत कम पंक्तियों के साथ कमांड लाइन इंटरफेस बनाने की अनुमति देता है।
नीचे क्लिक पैकेज का उपयोग किए बिना एक कमांड लाइन इंटरफ़ेस प्रोग्राम है। सीएलआई प्रोग्राम लिखना उतना सुरुचिपूर्ण नहीं हो सकता है जितना हमें 'क्लिक' पैकेज का उपयोग करके मिला था, क्योंकि 'क्लिक' आपको "डोंट रिपीट योरसेल्फ" (डीआरवाई) सिद्धांतों का पालन करने की अनुमति देता है।
क्लिक पैकेज का उपयोग किए बिना कमांड लाइन इंटरफ़ेस
आयात करें 0:प्रिंट ('आपने कोई कमांड पास नहीं किया है!') अन्य:a in args के लिए:यदि a =='--help':प्रिंट ('बेसिक कमांड लाइन प्रोग्राम') प्रिंट ('विकल्प:') प्रिंट ( ' --help -> यह मूल सहायता मेनू दिखाएं।') प्रिंट (' --monty -> एक मोंटी पायथन उद्धरण दिखाएं।') प्रिंट (' --veg -> एक यादृच्छिक सब्जी दिखाएं') elif a =='- -मोंटी':प्रिंट ('वह मसीहा नहीं है-वह एक बहुत शरारती लड़का है') एलिफ ए =='--वेज':प्रिंट (रैंडम.चॉइस (['टमाटर', 'रेडिस', 'गाजर', 'आलू') ', 'शलजम'])) और:प्रिंट ('अपरिचित तर्क।') अगर __name__ =='__main__':do_work()आउटपुट
c:\Python\Python361>python cli_interp1.py --montyवह मसीहा नहीं है—वह बहुत शरारती लड़का है:\Python\Python361>python cli_interp1.py --helpBasic कमांड लाइन प्रोग्रामऑप्शन:--help -> इसे दिखाएं मूल सहायता मेनू.--मोंटी -> एक मोंटी पायथन उद्धरण दिखाएं.--veg -> एक यादृच्छिक सब्जी दिखाएंc:\Python\Python361>python cli_interp1.py --vegTomatoc:\Python\Python361>python cli_interp1.py --errorUnमान्यता प्राप्त तर्क।
जैसा कि आप उपरोक्त कार्यक्रम में देख सकते हैं, यह तर्क नाम बदलने के लिए अधिक लचीलापन प्रदान नहीं कर रहा है।
सीएलआई को लागू करने के लिए पायथन क्लिक पैकेज का उपयोग करते हुए एक ही प्रोग्राम नीचे दिया गया है।
import clickimport [email protected]()@click.option('--monty', default=False, help='Show a Monty Python उद्धरण.')@click.option('--veg', default =गलत, मदद='एक यादृच्छिक सब्जी दिखाओ।')def do_work(monty, veg):""" बेसिक क्लिक उदाहरण आपके आदेशों का पालन करेगा"""अगर मोंटी:प्रिंट ('वह मसीहा नहीं है - वह बहुत शरारती लड़का है ') अगर शाकाहारी:प्रिंट (रैंडम.चॉइस (['टमाटर', 'रेडडिस', 'गाजर', 'आलू', 'शलजम'])) अगर __name__ =='__main__':do_work()
आउटपुट
c:\Python\Python361>python cli_interp2.py --helpUsage:cli_interp2.py [OPTIONS]मूल क्लिक उदाहरण आपके आदेशों का पालन करेगाविकल्प:--मॉन्टी टेक्स्ट एक मोंटी पायथन उद्धरण दिखाएं।--शाकाहारी पाठ एक यादृच्छिक सब्जी दिखाएँ .--help यह संदेश दिखाएँ और बाहर निकलें।
उपरोक्त कार्यक्रम से पता चलता है, 'क्लिक' पैकेज का उपयोग करके सीएलआई लिखना और प्रोग्रामर के बहुत सारे प्रयासों को सहेजना बहुत आसान है।