কিভাবে পাইথন স্ক্রিপ্টে কমান্ড লাইন আর্গুমেন্ট যোগ করা যায়

How Add Command Line Arguments Python Script



যদি আপনি একটি পাইথন স্ক্রিপ্ট বা অ্যাপ্লিকেশন তৈরি করেন যা প্রাথমিকভাবে টার্মিনাল এমুলেটর বা এমনকি GUI অ্যাপে চালানো হয়, কমান্ড লাইন যুক্তি যুক্ত করা এর ব্যবহারযোগ্যতা, কোড পাঠযোগ্যতা, অ্যাপ্লিকেশন কাঠামো এবং শেষ ব্যবহারকারীদের জন্য অ্যাপ্লিকেশনের সামগ্রিক ব্যবহার বন্ধুত্বকে উন্নত করতে পারে। এই কমান্ড লাইন আর্গুমেন্টগুলিকে অপশন বা সুইচও বলা হয় এবং আপনি সাধারণত ব্যাশ স্ক্রিপ্ট এবং অন্যান্য C / C ++ ভিত্তিক প্রোগ্রামে যে আর্গুমেন্টগুলি দেখেন তার অনুরূপ কাজ করে।

পাইথন স্ক্রিপ্টগুলিতে যুক্তি যুক্ত করতে, আপনাকে argparse নামে একটি অন্তর্নির্মিত মডিউল ব্যবহার করতে হবে। নাম অনুসারে, এটি পাইথন স্ক্রিপ্ট বা অ্যাপ্লিকেশন চালু করার সময় ব্যবহৃত কমান্ড লাইন আর্গুমেন্টগুলিকে বিশ্লেষণ করে। এই পার্সড আর্গুমেন্টগুলি argparse মডিউল দ্বারা চেক করা হয় যাতে তারা সঠিক ধরনের হয় তা নিশ্চিত করে। আর্গুমেন্টে অবৈধ মান থাকলে ত্রুটিগুলি উত্থাপিত হয়।







আর্গপার্স মডিউলের ব্যবহার উদাহরণের মাধ্যমে সবচেয়ে ভালোভাবে বোঝা যায়। নিচে কিছু কোড নমুনা দেওয়া হল যা আপনাকে আর্গপার্স মডিউল দিয়ে শুরু করবে।



উদাহরণ 1: সাহায্য আর্গুমেন্ট এবং বার্তা তৈরি করুন

নীচের কোড নমুনা বিবেচনা করুন:



আমদানিargparse

বিশ্লেষক =argparse।আর্গুমেন্ট পার্সার(বর্ণনা='একটি পরীক্ষা প্রোগ্রাম।')

যুক্তি= বিশ্লেষকparse_args()

প্রথম বিবৃতি argparse মডিউল আমদানি করে। এরপরে, আর্গুমেন্ট পার্সার অবজেক্টের একটি নতুন উদাহরণ তৈরি করা হয় এবং প্রোগ্রামের জন্য একটি সংক্ষিপ্ত বিবরণ যুক্তি হিসাবে সরবরাহ করা হয়। কমান্ড লাইন আর্গুমেন্ট মানগুলিকে পাইথন দ্বারা বোঝা ডেটা প্রকারে রূপান্তর করার জন্য ArgumentParser অবজেক্টের প্রয়োজন। এটি আর্গুমেন্ট পার্সার অবজেক্টের parse_args পদ্ধতি দ্বারা সম্পন্ন হয়, যেমন শেষ বিবৃতিতে দেখানো হয়েছে।





ধরে নিন যে আপনি উপরে বর্ণিত কোড নমুনা test.py নামে একটি ফাইলে সংরক্ষণ করেছেন, নীচের কমান্ডগুলি চালালে আপনি প্রোগ্রাম সম্পর্কিত বার্তাগুলি পেতে সহায়তা পাবেন।

$ ./পরীক্ষাpy-হ

$ ./পরীক্ষাpy-সাহায্য

আপনি এই অনুরূপ কিছু আউটপুট পেতে হবে:



ব্যবহার: test.py [-h]


একটি পরীক্ষা প্রোগ্রাম।


argumentsচ্ছিক যুক্তি:

-h, -এই সাহায্য বার্তাটি দেখান এবং প্রস্থান করুন

লক্ষ্য করুন যে পার্সড আর্গুমেন্টগুলি পরিচালনা এবং তাদের বস্তুতে রূপান্তর করার কোন যুক্তি উপরে উল্লিখিত কোড নমুনায় যোগ করা হয়নি। অতএব, পৃথক আর্গুমেন্টের জন্য সাহায্য বার্তা আউটপুটে দেখানো হয় না। একবার আপনি আপনার প্রোগ্রামে পার্সড আর্গুমেন্টের মানগুলি পরিচালনার জন্য যুক্তি যুক্ত করলে, সাহায্য বার্তাগুলি পৃথক আর্গুমেন্টের বর্ণনা দেখানো শুরু করবে।

উদাহরণ 2: একটি স্ট্রিং আর্গুমেন্ট পরিচালনা করুন

আপনার পাইথন স্ক্রিপ্ট দ্বারা গ্রহণযোগ্য যুক্তি যুক্ত করতে, আপনাকে add_argument পদ্ধতি ব্যবহার করতে হবে। নিম্নলিখিত কোডটি দেখুন:

আমদানিargparse

বিশ্লেষক =argparse।আর্গুমেন্ট পার্সার(বর্ণনা='একটি পরীক্ষা প্রোগ্রাম।')

বিশ্লেষকযুক্ত করুন('print_string', সাহায্য=সরবরাহকৃত যুক্তি ছাপায়।)

যুক্তি= বিশ্লেষকparse_args()

ছাপা(যুক্তিমুদ্রণ_ স্ট্রিং)

Add_argument পদ্ধতির ব্যবহার দেখিয়ে একটি নতুন বিবৃতি যোগ করা হয়েছে। স্ক্রিপ্ট চালু করার সময় যুক্ত কোন যুক্তি ArgumentParser দ্বারা একটি print_string অবজেক্ট হিসেবে বিবেচিত হবে।

মনে রাখবেন যে ডিফল্টরূপে, add_argument পদ্ধতি আর্গুমেন্ট থেকে প্রাপ্ত মানগুলিকে স্ট্রিং হিসাবে বিবেচনা করে, তাই আপনাকে এই ক্ষেত্রে স্পষ্টভাবে টাইপটি নির্দিষ্ট করতে হবে না। None এর একটি ডিফল্ট মানও যুক্ত করা আর্গুমেন্টের জন্য নির্ধারিত হয়, যদি না ওভাররাইড করা হয়।

আবার সাহায্য বার্তাটি দেখুন:

ব্যবহার: test.py [-h] [print_string]


একটি পরীক্ষা প্রোগ্রাম।


অবস্থানগত যুক্তি:

print_string সরবরাহকৃত যুক্তি মুদ্রণ করে।


argumentsচ্ছিক যুক্তি:

-h, -এই সাহায্য বার্তাটি দেখান এবং প্রস্থান করুন

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

Optionচ্ছিক আর্গুমেন্ট সংজ্ঞায়িত এবং বিশ্লেষণ করতে, আপনি - (ডাবল ড্যাশ) ব্যবহার করতে পারেন এবং ডিফল্ট যুক্তি ব্যবহার করে তাদের ডিফল্ট মান পরিবর্তন করতে পারেন।

আমদানিargparse

বিশ্লেষক =argparse।আর্গুমেন্ট পার্সার(বর্ণনা='একটি পরীক্ষা প্রোগ্রাম।')

বিশ্লেষকযুক্ত করুন('--প্রিন্ট_স্ট্রিং', সাহায্য=সরবরাহকৃত যুক্তি ছাপায়।,ডিফল্ট=প্রতিএলোমেলো স্ট্রিং)

যুক্তি= বিশ্লেষকparse_args()

ছাপা(যুক্তিমুদ্রণ_ স্ট্রিং)

এখন যখন আপনি কোন যুক্তি ছাড়াই test.py স্ক্রিপ্ট চালান, তখন আপনার একটি এলোমেলো স্ট্রিং পাওয়া উচিত। আউটপুট হিসাবে। আপনি আপনার পছন্দের যে কোন স্ট্রিং প্রিন্ট করতে option প্রিন্ট_স্ট্রিং কীওয়ার্ড ব্যবহার করতে পারেন।

$ ./পরীক্ষাpy--print_string LinuxHint।সঙ্গেLinuxHint.com

মনে রাখবেন যে আপনি একটি অতিরিক্ত প্রয়োজনীয় = সত্য যুক্তি ব্যবহার করে একটি alচ্ছিক যুক্তি বাধ্যতামূলক করতে পারেন।

পরিশেষে, আপনি শব্দগুচ্ছ কমাতে - (একক ড্যাশ) ব্যবহার করে যুক্তির সংক্ষিপ্ত সংস্করণগুলিও সংজ্ঞায়িত করতে পারেন।

আমদানিargparse

বিশ্লেষক =argparse।আর্গুমেন্ট পার্সার(বর্ণনা='একটি পরীক্ষা প্রোগ্রাম।')

বিশ্লেষকযুক্ত করুন(-পি, '--প্রিন্ট_স্ট্রিং', সাহায্য=সরবরাহকৃত যুক্তি ছাপায়।,ডিফল্ট=প্রতিএলোমেলো স্ট্রিং)

যুক্তি= বিশ্লেষকparse_args()

ছাপা(যুক্তিমুদ্রণ_ স্ট্রিং)

নিম্নলিখিত কমান্ডটি চালানো আপনাকে উপরের মতো একই ফলাফল দিতে হবে:

$ ./পরীক্ষাpy-পি লিনাক্সহিন্ট।সঙ্গে

উদাহরণ 3: একটি পূর্ণসংখ্যা যুক্তি পরিচালনা করুন

পূর্ণসংখ্যার মান প্রয়োজন এমন আর্গুমেন্টগুলি পরিচালনা করার জন্য, আপনাকে শর্ত পূরণ না হলে বৈধতা এবং ত্রুটিগুলি নিক্ষেপ করার জন্য টাইপ কীওয়ার্ডকে int তে সেট করতে হবে।

আমদানিargparse

বিশ্লেষক =argparse।আর্গুমেন্ট পার্সার(বর্ণনা='একটি পরীক্ষা প্রোগ্রাম।')

বিশ্লেষকযুক্ত করুন('-পি', '--প্রিন্ট_স্ট্রিং', সাহায্য=সরবরাহকৃত যুক্তি ছাপায়।, টাইপ=int)

যুক্তি= বিশ্লেষকparse_args()

ছাপা(যুক্তিমুদ্রণ_ স্ট্রিং)

নিম্নলিখিত কমান্ডটি চালানোর চেষ্টা করুন:

$ ./পরীক্ষাpy-পি লিনাক্সহিন্ট।সঙ্গে

আপনি এই মত একটি ত্রুটি পেতে হবে:

ব্যবহার: test.py [-h] [-p PRINT_STRING]

test.py: ত্রুটি: যুক্তি -p/-print_string: অবৈধ int মান: 'LinuxHint.com'

একটি পূর্ণসংখ্যা মান সরবরাহ করা আপনাকে সঠিক ফলাফল দেবে:

$ ./পরীক্ষাpy-পি10001000

উদাহরণ 4: সত্য এবং মিথ্যা টগলগুলি পরিচালনা করুন

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

আমদানিargparse

বিশ্লেষক =argparse।আর্গুমেন্ট পার্সার(বর্ণনা='একটি পরীক্ষা প্রোগ্রাম।')

বিশ্লেষকযুক্ত করুন('-পি', '--প্রিন্ট_স্ট্রিং', সাহায্য=সরবরাহকৃত যুক্তি ছাপায়।,কর্ম='স্টোর_ট্রু')

যুক্তি= বিশ্লেষকparse_args()

ছাপা(যুক্তিমুদ্রণ_ স্ট্রিং)

আউটপুট হিসাবে একটি সহজ সত্য পেতে নীচের কমান্ডটি চালান:

$ ./পরীক্ষাpy-পি

যদি আপনি -p আর্গুমেন্ট ছাড়াই স্ক্রিপ্ট চালান, তার পরিবর্তে একটি মিথ্যা মান বরাদ্দ করা হবে। অ্যাকশন কীওয়ার্ডের ভ্যালু store_true print_string ভেরিয়েবলের জন্য একটি সত্য মান নির্ধারণ করে যখনই -p আর্গুমেন্ট স্পষ্টভাবে নির্দিষ্ট করা হয়, অন্যথায় ভেরিয়েবলের জন্য মিথ্যা বরাদ্দ করা হয়।

উদাহরণ 5: যুক্তি মানগুলিকে তালিকা হিসাবে বিবেচনা করুন

আপনি যদি একবারে একাধিক মান পেতে চান এবং সেগুলি তালিকায় সংরক্ষণ করতে চান, তাহলে আপনাকে নিম্নলিখিত বিন্যাসে নার্গস কীওয়ার্ড সরবরাহ করতে হবে:

আমদানিargparse

বিশ্লেষক =argparse।আর্গুমেন্ট পার্সার(বর্ণনা='একটি পরীক্ষা প্রোগ্রাম।')

বিশ্লেষকযুক্ত করুন('-পি', '--প্রিন্ট_স্ট্রিং', সাহায্য=সরবরাহকৃত যুক্তি ছাপায়।,nargs='*')

যুক্তি= বিশ্লেষকparse_args()

ছাপা(যুক্তিমুদ্রণ_ স্ট্রিং)

উপরের কোডটি পরীক্ষা করতে নিম্নলিখিত কমান্ডটি চালান:

$ ./পরীক্ষাpy-প a খ

আপনি এই মত কিছু আউটপুট পেতে হবে:

['a', 'b']

উপসংহার

অর্গপার্স মডিউলটি বেশ বিস্তৃত যা কমান্ড লাইন অ্যাপ্লিকেশনগুলির আচরণকে পরিবর্তন করতে এবং ব্যবহারকারীর সরবরাহিত মানগুলি বিশ্লেষণ করার জন্য প্রচুর বিকল্প রয়েছে। এই উদাহরণগুলি শুধুমাত্র argparse মডিউলের মৌলিক ব্যবহারকে স্পর্শ করে। উন্নত এবং জটিল অ্যাপ্লিকেশনের জন্য, আপনার বিভিন্ন বাস্তবায়নের প্রয়োজন হতে পারে। পরিদর্শন অফিসিয়াল ডকুমেন্টেশন মডিউলটির সম্পূর্ণ ব্যাখ্যার জন্য।