কম্পিউটার

পাইথনে কমান্ড লাইন এবং পরিবর্তনশীল আর্গুমেন্ট?


কমান্ড লাইন আর্গুমেন্টস

কমান্ড লাইন আর্গুমেন্টগুলি হল ইনপুট প্যারামিটার যা ব্যবহারকারীকে প্রোগ্রামগুলিকে একটি নির্দিষ্ট উপায়ে কাজ করতে সক্ষম করতে দেয় যেমন- অতিরিক্ত তথ্য আউটপুট করতে, বা একটি নির্দিষ্ট উত্স থেকে ডেটা পড়তে বা একটি পছন্দসই বিন্যাসে ডেটা ব্যাখ্যা করতে।

পাইথন কমান্ড লাইন আর্গুমেন্টস

পাইথন কমান্ড লাইন আর্গুমেন্ট পড়ার জন্য অনেক অপশন প্রদান করে। সবচেয়ে সাধারণ উপায় হল -

  • Python sys.argv
  • পাইথন গেটোপ্ট মডিউল
  • পাইথন আর্গপার্স মডিউল

পাইথন সিএস মডিউল

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 O
<class 'list'>
The command line arguments are:
CommandLineOption.py
H
E
L
L
O

পাইথন গেটোপ্ট মডিউল

python getopt মডিউল sys.argv-এর মত একটি আর্গুমেন্ট সিকোয়েন্স পার্স করে এবং অপশন ও আর্গুমেন্ট পেয়ারের একটি ক্রম এবং অ-বিকল্প আর্গুমেন্টের একটি সিকোয়েন্স প্রদান করে।

সিনট্যাক্স

getopt.getopt(args, options, [long_options])

যেখানে:

  • আর্গস – পার্স করা যুক্তি তালিকা

  • বিকল্পগুলি৷ – এটি বিকল্প অক্ষরের স্ট্রিং যা স্ক্রিপ্ট চিনতে চায়।

  • দীর্ঘ_বিকল্প – এটি একটি ঐচ্ছিক পরামিতি, দীর্ঘ বিকল্পগুলির নাম সহ স্ট্রিংগুলির একটি তালিকা, যা সমর্থন করা উচিত৷

getopt মডিউল বিকল্প সিনট্যাক্স অন্তর্ভুক্ত -

  • -a
  • -bval
  • -বি ভ্যাল
  • --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')], [])

জিওপ্ট মডিউল-

-এর ব্যবহার প্রদর্শনের জন্য আরেকটি উদাহরণ
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 মডিউল হল কমান্ড লাইন আর্গুমেন্ট পার্স করার পছন্দের উপায়। এই মডিউলটি অবস্থানগত আর্গুমেন্ট, আর্গুমেন্টের জন্য ডিফল্ট মান, হেল্প মেসেজ, আর্গুমেন্টের ডেটা টাইপ নির্দিষ্ট করা ইত্যাদির মতো বেশ কিছু বিকল্প প্রদান করে।

আর্গপার্স মডিউল বোঝার জন্য নীচে একটি সহজ প্রোগ্রাম -

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

আমরা -ভারবোসিটির মত আর্গপার্স মডিউল দিয়ে ঐচ্ছিক আর্গুমেন্ট সেট করতে পারি।


  1. কিভাবে আমরা পাইথনে কমান্ড লাইন আর্গুমেন্ট অ্যাক্সেস করতে পারি?

  2. পাইথন ব্যবহার করে কমান্ড লাইন থেকে একটি ফাইল কিভাবে পড়তে হয়?

  3. পাইথন নেমস্পেস এবং ভেরিয়েবলের সুযোগ ব্যাখ্যা কর।

  4. Eclipse কমান্ড লাইনে পাইথন ফাংশন কিভাবে চালাবেন?