কমান্ড লাইন আর্গুমেন্ট
কমান্ড লাইন আর্গুমেন্ট হলো ইনপুট প্যারামিটার যা ইউজারকে প্রোগ্রামকে একটি নির্দিষ্টভাবে আচরণ করতে সক্ষম করে যেমন - অতিরিক্ত ইনফরমেশন আউটপুট করা, নির্দিষ্ট সোর্স থেকে ডেটা পড়া বা ডেটাকে ডিজায়ারড ফরম্যাটে ইন্টারপ্রেট করা।
পাইথন কমান্ড লাইন আর্গুমেন্ট
পাইথন কমান্ড লাইন আর্গুমেন্ট পড়ার অনেক অপশন প্রদান করে। সবচেয়ে কমন উপায়গুলো হলো:
- Python sys.argv
- Python getopt মডিউল
- Python argparse মডিউল
Python sys মডিউল
sys মডিউল কমান্ড লাইন আর্গুমেন্ট (CLA) একটি লিস্টে সংরক্ষণ করে এবং এটি রিট্রিভ করতে আমরা sys.argv ব্যবহার করি। এটি কমান্ড লাইন আর্গুমেন্ট স্ট্রিং হিসেবে পড়ার একটি সহজ উপায়।
import sys
print(type(sys.argv))
print('The command line arguments are: ')
for i in sys.argv:
print(i)
উপরের প্রোগ্রাম রান করলে আউটপুট হবে কিছু এইভাবে:
আউটপুট
>python CommandLineOption.py H E L L OThe command line arguments are: CommandLineOption.py H E L L O
Python getopt মডিউল
Python getopt মডিউল sys.argv-এর মত একটি আর্গুমেন্ট সিকোয়েন্স পার্স করে এবং অপশন & আর্গুমেন্ট জোড়ার একটি সিকোয়েন্স এবং নন-অপশন আর্গুমেন্টের একটি সিকোয়েন্স রিটার্ন করে।
সিনট্যাক্স
getopt.getopt(args, options, [long_options])
যেখানে:
Args – পার্স করা আর্গুমেন্ট লিস্ট
Options – এটি অপশন লেটারস্ট্রিং যা স্ক্রিপ্টটি রিকগনাইজ করতে চায়।
Long_options – এটি ঐচ্ছিক প্যারামিটার, স্ট্রিংয়ের একটি লিস্ট যাতে লং অপশনের নাম থাকে, যা সাপোর্ট করা উচিত।
getopt মডিউল অপশন সিনট্যাক্স شامل করে:
- -a
- -bval
- -b val
- --noarg
- --witharg=val
- --witharg val
getopt মডিউল বুঝতে একটি উদাহরণ দেখি:
শর্ট ফর্ম অপশন
নিচের প্রোগ্রাম দুটি অপশন নেয়, -a এবং -b, দ্বিতীয় অপশনে একটি আর্গুমেন্ট আবশ্যক।
import getopt print(getopt.getopt(['-a', '-bval', '-c', 'val'], 'ab:c:'))
ফলাফল
([('-a', ''), ('-b', 'val'), ('-c', 'val')], [])
লং ফর্ম অপশন
প্রোগ্রাম দুটি অপশন নেয়, --noarg এবং --witharg এবং সিকোয়েন্স হওয়া উচিত ['noarg', 'witharg=']
import getopt print(getopt.getopt(['--noarg', '--witharg', 'val', '--witharg2=another'], '', ['noarg', 'witharg=', 'witharg2=']))
ফলাফল
([('--noarg', ''), ('--witharg', 'val'), ('--witharg2', 'another')], [])
getopt মডিউল ব্যবহারের আরেকটি উদাহরণ:
import getopt
import sys
argv = sys.argv[1:]
try:
opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
print(opts)
print(args)
except getopt.GetoptError:
print('Something Wrong!')
sys.exit(2)
ফলাফল
>python CommandLineOption.py -m 2 -h "Help" H E L L O
[('-m', '2'), ('-h', '')]
['Help', 'H', 'E', 'L', 'L', 'O']
Python argparse মডিউল
Python argparse মডিউল কমান্ড লাইন আর্গুমেন্ট পার্স করার প্রিয়ার্ড উপায়। এই মডিউল বেশ কিছু অপশন প্রদান করে যেমন পজিশনাল আর্গুমেন্ট, আর্গুমেন্টের ডিফল্ট ভ্যালু, হেল্প মেসেজ, আর্গুমেন্টের ডেটা টাইপ স্পেসিফাই করা ইত্যাদি।
argparse মডিউল বুঝতে নিচে একটি সহজ প্রোগ্রাম:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("string", help="Print the word in upper case letters")
args = parser.parse_args()
print(args.string.upper()) # This way argument can be manipulated.
আউটপুট
>python CommandLineOption.py "Hello, pythoN" HELLO, PYTHON
আমরা argparse মডিউল ব্যবহার করে অপশনাল আর্গুমেন্ট সেট করতে পারি যেমন --verbosity।