পাইথনে কমান্ড-লাইনে আর্গুমেন্টগুলি কীভাবে বিশ্লেষণ করবেন

How Parse Arguments Command Line Python



কমান্ড-লাইন আর্গুমেন্ট প্রোগ্রাম এক্সিকিউশনের সময় প্রোগ্রামে ডেটা পাস করার জন্য ব্যবহৃত হয়। এই বৈশিষ্ট্যটি বেশিরভাগ জনপ্রিয় প্রোগ্রামিং ভাষায় পাওয়া যায়। কিন্তু কমান্ড-লাইন আর্গুমেন্টের প্রক্রিয়াকরণ বিভিন্ন ভাষার জন্য আলাদা। প্রোগ্রাম চালানোর সময় আর্গুমেন্টের মান প্রোগ্রামের নামের সাথে দেওয়া হয়। পাইথন ভাষা এই বৈশিষ্ট্যটি সমর্থন করে। পাইথন স্ক্রিপ্টে কমান্ড-লাইন আর্গুমেন্টগুলি কীভাবে বিশ্লেষণ করা হয় তা এই নিবন্ধে দেখানো হয়েছে।

কমান্ড-লাইন আর্গুমেন্ট ব্যবহার করে পার্স করা sys মডিউল

কমান্ড-লাইন আর্গুমেন্ট ব্যবহার করে একটি তালিকায় সংরক্ষণ করা হয় sys মডিউল sys.argv কমান্ড-লাইন আর্গুমেন্টের মান পড়তে ব্যবহৃত হয়। কমান্ড-লাইন আর্গুমেন্টের মোট সংখ্যা ব্যবহার করে গণনা করা যায় লেন () ফাংশন এই মডিউলের ব্যবহার নিবন্ধের অংশে বর্ণিত হয়েছে।







উদাহরণ 1: আর্গুমেন্ট এবং আর্গুমেন্ট ভ্যালুর সংখ্যা পড়া

নিম্নলিখিত পাইথন স্ক্রিপ্ট দিয়ে একটি ফাইল তৈরি করুন। এখানে, কমান্ড-লাইন আর্গুমেন্ট মানগুলি ভেরিয়েবলে সংরক্ষণ করা হয়, argv অন্যান্য ভাষার মত। লেন () পদ্ধতি স্ক্রিপ্ট চালানোর সময় পাস করা আর্গুমেন্টের মোট সংখ্যা গণনা করে। আর্গুমেন্ট মান স্ক্রিপ্টের শেষে একটি অ্যারে হিসাবে মুদ্রিত হয়।



# Sys মডিউল আমদানি করুন
আমদানি sys

# মোট আর্গুমেন্টের সংখ্যা মুদ্রণ করুন
ছাপা('মোট যুক্তি:', লেন(sysargv))
ছাপা('যুক্তির মান হল:', পৃ(sysargv))

আউটপুট:



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





উদাহরণ 2: লুপ ব্যবহার করে আর্গুমেন্ট মান পড়া



পূর্ববর্তী উদাহরণে, আর্গুমেন্ট মান একটি অ্যারে হিসাবে মুদ্রিত হয়। আর্গুমেন্ট ভেরিয়েবলের প্রিন্ট প্রিন্ট করতে নিচের স্ক্রিপ্ট দিয়ে একটি ফাইল তৈরি করুন এবং লুপ ব্যবহার করে প্রতিটি লাইনে প্রতিটি আর্গুমেন্ট মান প্রিন্ট করুন।

# Sys মডিউল আমদানি করুন
আমদানি sys

# ভেরিয়েবলের ধরন, sys.argv প্রিন্ট করুন
ছাপা(টাইপ(sysargv))

# প্রতিটি লাইনে প্রতিটি কমান্ড-লাইন যুক্তি প্রিন্ট করুন
ছাপা('কমান্ড লাইন আর্গুমেন্ট হল:')
জন্যআমিভিতরে sysargv:
ছাপা(আমি)

আউটপুট:

উপরের স্ক্রিপ্টটি স্ক্রিপ্টের নামের সাথে তিনটি যুক্তি প্রদান করে সম্পাদিত হয়। স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে।

Getopt মডিউল ব্যবহার করে কমান্ড-লাইন আর্গুমেন্ট পার্স করা

টপড মডিউল বিকল্পগুলির সাথে কমান্ড-লাইন আর্গুমেন্ট বিশ্লেষণ করতে ব্যবহৃত হয়। শীর্ষস্থানীয় () এই মডিউলের পদ্ধতি যুক্তিগুলি পড়ার জন্য ব্যবহৃত হয়। এই পদ্ধতিতে তিনটি যুক্তি রয়েছে। প্রথম দুটি যুক্তি বাধ্যতামূলক এবং শেষ যুক্তি optionচ্ছিক। এই যুক্তিগুলির ব্যবহারগুলি নীচে দেওয়া হয়েছে।

যুক্তি: এটি কমান্ড লাইন যুক্তি থেকে নেওয়া যুক্তি ধারণ করে।

short_option: এটি যুক্তি দিয়ে পাস করা যেকোনো চিঠি হতে পারে।

long_option: এটি দুটি অংশ সহ দীর্ঘ বিকল্পগুলি সংজ্ঞায়িত করতে ব্যবহৃত হয়। এগুলি হল বিকল্প নাম এবং বিকল্প মান।

বাক্য গঠন: getopt.getopt (args, short_option, [long_option])

উদাহরণ 3: সংক্ষিপ্ত getopt বিকল্প ব্যবহার করে আর্গুমেন্ট মান পড়া

শীর্ষস্থানীয় মডিউল এর চেয়ে বেশি বৈশিষ্ট্য রয়েছে sys মডিউল নিচের উদাহরণ দেখায় কিভাবে সংক্ষিপ্ত বিকল্পগুলি ব্যবহার করা যায় শীর্ষস্থানীয় () পদ্ধতি argv ভেরিয়েবল স্ক্রিপ্টের নাম বাদ দিয়ে কমান্ড-লাইন আর্গুমেন্ট সংরক্ষণ করবে। পরবর্তী, দুটি বিকল্প সংজ্ঞায়িত করা হয়েছে শীর্ষস্থানীয় () পদ্ধতি যা রান-টাইমে যুক্তির সাথে ব্যবহার করা যেতে পারে। যদি কোন ত্রুটি ঘটে তবে একটি ত্রুটি বার্তা প্রদর্শিত হবে।

# আমদানি getopt মডিউল
আমদানি শীর্ষস্থানীয়

# Sys মডিউল আমদানি করুন
আমদানি sys

# স্ক্রিপ্টের নাম বাদ দিয়ে স্টোর আর্গুমেন্ট ভেরিয়েবল
argv= sysargv[:]

চেষ্টা করুন:
# Getopt সংক্ষিপ্ত বিকল্পগুলি সংজ্ঞায়িত করুন
বিকল্প,যুক্তি= শীর্ষস্থানীয়শীর্ষস্থানীয়(argv, 'x: y:')

# বিকল্প এবং যুক্তি মুদ্রণ করুন
ছাপা(বিকল্প)
ছাপা(যুক্তি)

ছাড়া শীর্ষস্থানীয়GetoptError:

# ভুল বিকল্প দেওয়া হলে ত্রুটি বার্তাটি মুদ্রণ করুন
ছাপা('ভুল বিকল্প দেওয়া হয়েছে')

# স্ক্রিপ্ট বন্ধ করুন
sysপ্রস্থান(2)

আউটপুট:

কোন যুক্তি ছাড়াই স্ক্রিপ্ট চালান, সঠিক অপশন দিয়ে আর্গুমেন্ট এবং ভুল অপশন দিয়ে আর্গুমেন্ট করুন।

উদাহরণ 4: ছোট এবং দীর্ঘ গেটপট অপশন ব্যবহার করে আর্গুমেন্ট ভ্যালু পড়া

এই উদাহরণটি দেখায় কিভাবে আর্গুমেন্ট ভ্যালুর সাথে সংক্ষিপ্ত এবং দীর্ঘ উভয় বিকল্প ব্যবহার করা যায়। এটি যখন দুটি সংখ্যা যোগ করবে '-প্রতি' অথবা 'যোগ করুন' একটি বিকল্প হিসাবে ব্যবহার করা হবে এবং দুটি সংখ্যা বিয়োগ করা হবে যখন ' -এস ' অথবা ' 'সাব' রান-টাইমে একটি বিকল্প হিসেবে ব্যবহার করা হবে।

# আমদানি getopt মডিউল
আমদানি শীর্ষস্থানীয়

# Sys মডিউল আমদানি করুন
আমদানি sys

# স্ক্রিপ্টের নাম বাদ দিয়ে স্টোর আর্গুমেন্ট ভেরিয়েবল
argv= sysargv[:]

# ফলাফল পরিবর্তনশীল শুরু করুন
ফলাফল=0

চেষ্টা করুন:

# সংক্ষিপ্ত এবং দীর্ঘ বিকল্পগুলি নির্ধারণ করুন
বিকল্প,যুক্তি= শীর্ষস্থানীয়শীর্ষস্থানীয়(sysargv[:], 'a: s', ['যোগ =','সাব ='])

# লুপ ব্যবহার করে প্রতিটি বিকল্প পড়ুন
জন্যনির্বাচন,রাগীভিতরেবিকল্প:
# যোগফল গণনা করুন যদি বিকল্পটি -a বা --add হয়
যদিনির্বাচনভিতরে ('-প্রতি', '-যোগ করুন'):
ফলাফল= int(argv[])+int(argv[2])

# Suntraction গণনা করুন যদি বিকল্পটি -s বা --sub হয়
এলিফনির্বাচনভিতরে ('-এস', '-সাব'):
ফলাফল= int(argv[])-int(argv[2])

ছাপা('ফলাফল =',ফলাফল)

ছাড়া শীর্ষস্থানীয়GetoptError:

# ভুল বিকল্প দেওয়া হলে ত্রুটি বার্তাটি মুদ্রণ করুন
ছাপা('ভুল বিকল্প দেওয়া হয়েছে')

# স্ক্রিপ্ট বন্ধ করুন
sysপ্রস্থান(2)

আউটপুট:

কোন যুক্তি এবং বিকল্প ছাড়াই স্ক্রিপ্ট চালান, '-এ' বিকল্পের সাথে যুক্তি, '-s' বিকল্পের সাথে যুক্তি এবং ভুল বিকল্পের সাথে যুক্তি।

Argparse মডিউল ব্যবহার করে কমান্ড-লাইন আর্গুমেন্ট পার্স করা

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

উদাহরণ 5: argparse ব্যবহার করে কমান্ড-লাইন আর্গুমেন্ট পড়া

নিম্নলিখিত উদাহরণ ব্যবহার দেখায় argparse কমান্ড-লাইন আর্গুমেন্ট পড়ার জন্য মডিউল। এখানে, কমান্ড-লাইন আর্গুমেন্ট পড়ার জন্য দুটি বিকল্প সংজ্ঞায়িত করা হয়েছে। এইগুলো '-ন' বা '-নাম' এবং '-ই' বা '-মেইল'। যদি ব্যবহারকারী কোন ভুল যুক্তি প্রদান করে তবে এটি একটি ব্যবহার বার্তা সহ একটি ত্রুটি দেখাবে। যদি ব্যবহারকারী যুক্তি সহ সঠিক বিকল্প প্রদান করে তাহলে এটি যুক্তির মান প্রদর্শন করবে। যদি ব্যবহারকারী স্ক্রিপ্টটি '–help' বিকল্প দিয়ে চালায় তবে এটি স্ক্রিপ্ট চালানোর জন্য প্রয়োজনীয় বার্তা প্রদান করবে।

# আমদানি argparse মডিউল
আমদানিargparse

# Sys মডিউল আমদানি করুন
আমদানি sys

# কমান্ড-লাইন আর্গুমেন্ট সংজ্ঞায়িত করার জন্য ফাংশন ঘোষণা করুন
ডিফঅপশন পড়ুন(যুক্তি=sysargv[:]):
বিশ্লেষক =argparse।আর্গুমেন্ট পার্সার(বর্ণনা='পার্সিং কমান্ড তালিকা।')
বিশ্লেষকযুক্ত করুন('-এন', '-নাম', সাহায্য='তোমার নাম লিখ.')
বিশ্লেষকযুক্ত করুন('-এবং', '-ইমেইল', সাহায্য='আপনার ইমেল টাইপ করুন।')
বেছে নেয়= বিশ্লেষকparse_args(যুক্তি)
প্রত্যাবর্তনবেছে নেয়

# যুক্তি মান পড়তে ফাংশন কল করুন
বিকল্প=অপশন পড়ুন(sysargv[:])
ছাপা(বিকল্পনাম)
ছাপা(বিকল্পইমেইল)

আউটপুট:

ভুল অপশন, সঠিক অপশন এবং হেল্প অপশন দিয়ে স্ক্রিপ্ট চালান।

উপসংহার:

তিনটি পাইথন মডিউল ব্যবহার করে এই টিউটোরিয়ালে কমান্ড-লাইন আর্গুমেন্ট পড়ার বিভিন্ন উপায় ব্যাখ্যা করা হয়েছে। আমি আশা করি, এই টিউটোরিয়ালটি কোডারকে সাহায্য করবে যারা পাইথনে কমান্ড-লাইন আর্গুমেন্ট ব্যবহার করে ডেটা পড়তে চায়।

লেখকের ভিডিও দেখুন: এখানে