কম্পিউটার টিউটোরিয়াল

পাইথনে কমান্ড লাইন ইন্টারফেস (CLI) প্রোগ্রামিং: click লাইব্রেরির ব্যবহার

এই সেকশনে পাইথন ব্যবহার করে কমান্ড লাইন ইন্টারফেস (CLI) ডেভেলপ করা দেখাব। প্রথমে কমান্ড লাইন বুঝে নিই।

কমান্ড লাইন কম্পিউটার প্রোগ্রামের শুরু থেকেই ব্যবহৃত হচ্ছে এবং এটি কমান্ডের ওপর বিল্ট। একটি কমান্ড লাইন প্রোগ্রাম হলো যেটি শেল বা কমান্ড লাইন থেকে রান হয়।

CLI ইউজার ইন্টারফেস যেখানে মাউস না ব্যবহার করে টার্মিনাল, শেল বা কনসোলে কমান্ড টাইপ করে নেভিগেট করা হয়।

একটি CLI এক্সিকিউটেবল দিয়ে শুরু হয়। প‍্যাস করা প‍্যারামিটারগুলো:*

  • Arguments (আর্গুমেন্টস): বাধ্যতামূলক প‍্যারামিটার। না দিলে এরর দেবে। যেমন: pip install numpy-এ numpy আর্গুমেন্ট।
  • Options (অপশনস): অপশনাল প‍্যারামিটার, নাম-ভ্যালু পেয়ার হিসেবে। যেমন: pip install django --cache-dir ./my-cache-dir।
  • Flags (ফ্ল্যাগস): অপশনাল, নির্দিষ্ট বিহেভিয়ার এনেবল/ডিসেবল করে। যেমন: --help।

পাইথনে CLI লিখার জন্য একাধিক প্যাকেজ রয়েছে, যেমন click। click খুব কম কোডে CLI বানাতে দেয়।

click ছাড়া CLI প্রোগ্রাম (ক্লাসিক পদ্ধতি)

import sys
import random

def do_work():
    """Function to handle command line usage"""
    args = sys.argv
    args = args[1:]  # প্রথম এলিমেন্ট ফাইল নাম
    
    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 লেখা অনেক সহজ হয় এবং প্রোগ্রামারশ्रम বাঁচায়। এটি DRY (Don't Repeat Yourself) প্রিন্সিপাল ফলো করে।

  1. কমান্ড লাইন মাধ্যমে Matplotlib-এ ইন্টারেক্টিভ প্লটিং

  2. পাইথনে Tkinter প্রোগ্রামিং

  3. পাইথনে Turtle গ্রাফিক্স: আঙ্কন ও অ্যানিমেশন

  4. পাইথন মডিউল কমান্ড লাইন থেকে কল করা