Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में कमांड लाइन इंटरफेस (CLI) प्रोग्रामिंग


इस सेक्शन में हम पायथन का उपयोग करके एक कमांड लाइन इंटरफेस विकसित करने जा रहे हैं। लेकिन इससे पहले कि हम प्रोग्राम में गहराई से जाएं, आइए पहले कमांड लाइन को समझें।

कमांड लाइन्स कंप्यूटर प्रोग्राम्स के अस्तित्व के बाद से उपयोग में हैं और कमांड्स पर बनी हैं। एक कमांड लाइन प्रोग्राम एक प्रोग्राम है जो शेल या कमांड लाइन से चलता है।

जबकि कमांड लाइन इंटरफेस यूजर इंटरफेस प्रदान करता है जिसे टर्मिनल्स, शेल्स या कंसोल पर कमांड्स टाइप करके नेविगेट किया जाता है, माउस का उपयोग करने के बजाय।

एक कमांड-लाइन इंटरफेस (CLI) एक एक्जीक्यूटेबल से शुरू होता है। ऐसे पैरामीटर्स हैं जिन्हें हम स्क्रिप्ट में पास कर सकते हैं यह इस बात पर निर्भर करता है कि वे कैसे विकसित किए गए हैं, जैसे:

  • आर्गुमेंट्स: हमें इस पैरामीटर को प्रदान करने की आवश्यकता है जो स्क्रिप्ट को पास किया जाता है। यदि हम इसे प्रदान नहीं करते हैं, तो CLI एक त्रुटि फेंक देगा। उदाहरण के लिए, इस कमांड में numpy आर्गुमेंट है: pip install numpy।
  • ऑप्शन्स: एक वैकल्पिक पैरामीटर जो नाम और मान की जोड़ी के साथ आता है जैसे: pip install django --cache-dir ./my-cache-dir जहां --cache_dir एक ऑप्शन पैरामीटर है और मान ./my-cache-dir को कैश डायरेक्टरी के रूप में उपयोग किया जाना चाहिए।
  • फ्लैग्स: एक और वैकल्पिक पैरामीटर जो स्क्रिप्ट को एक निश्चित व्यवहार को सक्षम या अक्षम करने के लिए कहता है, उदाहरण के लिए --help पैरामीटर।

पायथन कमांड लाइन इंटरफेस लिखने के लिए कई पायथन पैकेज प्रदान करता है जैसे 'click'। Click हमें बहुत कम कोड की लाइनों के साथ कमांड लाइन इंटरफेस बनाने की अनुमति देता है।

नीचे click पैकेज का उपयोग किए बिना एक कमांड लाइन इंटरफेस प्रोग्राम है। CLI प्रोग्राम लिखना उतना सुंदर नहीं हो सकता जितना कि 'click' पैकेज का उपयोग करके हमें मिला, क्योंकि 'click' आपको "डोन्ट रिपीट योरसेल्फ" (DRY) सिद्धांतों का पालन करने की अनुमति देता है।

click पैकेज के बिना कमांड लाइन इंटरफेस

import sys
import random

def do_work():
    """ फंक्शन कमांड लाइन उपयोग को हैंडल करने के लिए """
    args = sys.argv
    args = args[1:]  # args का पहला एलिमेंट फाइल नाम है
    if len(args) == 0:
        print('You have not passed any commands in!')
    else:
        for a in args:
            if a == '--help':
                print('Basic command line program')
                print('Options:')
                print(' --help -> show this basic help menu.')
                print(' --monty -> show a Monty Python quote.')
                print(' --veg -> show a random vegetable')
            elif a == '--monty':
                print("He's not the Messiah—he's a very naughty boy")
            elif a == '--veg':
                print(random.choice(['Tomato', 'Reddis', 'Carrot', 'Potato', 'Turnip']))
            else:
                print('Unrecognised argument.')

if __name__ == '__main__':
    do_work()

आउटपुट

c:\Python\Python361>python cli_interp1.py --monty
He's not the Messiah—he's a very naughty boy
c:\Python\Python361>python cli_interp1.py --help
Basic command line program
Options:
 --help -> show this basic help menu.
 --monty -> show a Monty Python quote.
 --veg -> show a random vegetable
c:\Python\Python361>python cli_interp1.py --veg
Tomato
c:\Python\Python361>python cli_interp1.py --error
Unrecognised argument.

जैसा कि आप उपरोक्त प्रोग्राम में देख सकते हैं, यह आर्गुमेंट नाम बदलने के लिए ज्यादा लचीलापन प्रदान नहीं कर रहा है।

नीचे पायथन click पैकेज का उपयोग करके CLI को इम्प्लीमेंट करने वाला वही प्रोग्राम है।

import click
import random

@click.command()
@click.option('--monty', default=False, help='Show a Monty Python quote.')
@click.option('--veg', default=False, help='Show a random vegetable.')
def do_work(monty, veg):
    """ Basic Click example will follow your commands """
    if monty:
        print("He's not the Messiah—he's a very naughty boy")
    if veg:
        print(random.choice(['Tomato', 'Reddis', 'Carrot', 'Potato', 'Turnip']))

if __name__ == '__main__':
    do_work()

आउटपुट

c:\Python\Python361>python cli_interp2.py --help
Usage: cli_interp2.py [OPTIONS]
Basic Click example will follow your commands
Options:
 --monty TEXT Show a Monty Python quote.
 --veg TEXT Show a random vegetable.
 --help Show this message and exit.

उपरोक्त प्रोग्राम दिखाता है, 'click' पैकेज का उपयोग करके CLI लिखना बहुत आसान है और प्रोग्रामर के बहुत सारे प्रयास बचाता है।


  1. कमांड लाइन के माध्यम से Python Matplotlib के साथ इंटरैक्टिव प्लॉटिंग कमांड लाइन के माध्यम से Python Matplotlib के साथ इंटरैक्टिव प्लॉटिंग

    इंटरैक्टिव प्लॉट्स प्राप्त करने के लिए फिगर को एक्टिवेट करना होगा। plt.ioff() और plt.ion() का उपयोग करके प्लॉट के साथ इंटरैक्टिव एक्शन परफॉर्म कर सकते हैं। Ipython शेल खोलें और शेल पर निम्न कमांड्स एंटर करें। उदाहरण In [1]: %matplotlib auto Using matplotlib backend: GTK3Agg In [2]: import matplotl

  1. पायथन में ट्किंटर प्रोग्रामिंग पायथन में ट्किंटर प्रोग्रामिंग

    ट्किंटर पायथन के लिए मानक GUI लाइब्रेरी है। ट्किंटर के साथ संयुक्त पायथन GUI एप्लिकेशन बनाने का एक तेज़ और आसान तरीका प्रदान करता है। ट्किंटर Tk GUI टूलकिट के लिए एक शक्तिशाली ऑब्जेक्ट-ओरिएंटेड इंटरफ़ेस प्रदान करता है।ट्किंटर का उपयोग करके GUI एप्लिकेशन बनाना एक आसान कार्य है। आपको बस निम्नलिखित चरण

  1. पायथन में टर्टल प्रोग्रामिंग पायथन में टर्टल प्रोग्रामिंग

    टर्टल पायथन की एक विशेष विशेषता है। टर्टल का उपयोग करके, हम आसानी से एक ड्राइंग बोर्ड पर ड्रा कर सकते हैं। पहले हम टर्टल मॉड्यूल इम्पोर्ट करते हैं। फिर एक विंडो बनाते हैं, अगला हम टर्टल ऑब्जेक्ट बनाते हैं और टर्टल मेथड का उपयोग करके ड्राइंग बोर्ड पर ड्रा कर सकते हैं। कुछ टर्टल मेथड मेथडपैरामीटरविव