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

Pa Ithana Kamanda La Ina Argumenta



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

পাইথনে কমান্ড লাইন আর্গুমেন্টের পদ্ধতি

আমরা এই নির্দেশিকায় সমস্ত পদ্ধতি বিস্তারিতভাবে ব্যাখ্যা করব এবং সেই সমস্ত পদ্ধতির ব্যবহারিক প্রদর্শনও দেখাব।







উদাহরণ # 01: sys.argv পদ্ধতি দ্বারা

আমরা এই পাইথন কোডগুলি 'স্পাইডার' অ্যাপে করছি। আমরা সিস্টেম আমদানি করে কমান্ড লাইন ভেরিয়েবল এবং ফাংশন অ্যাক্সেস করতে পারি। সুতরাং, আমরা 'sys' ইম্পোর্ট করি এবং তারপর আমরা 'len(sys.argv)' দিয়ে 'num' ভেরিয়েবল ঘোষণা করি এবং আরম্ভ করি। 'argv' স্ট্রিং মানের তালিকা হতে যাচ্ছে যেটি আর্গুমেন্ট যা আমাদের কমান্ড লাইন হয়ে উঠবে। 'লেন' যুক্তির দৈর্ঘ্য উপস্থাপন করে যা পাস করা হয়েছে। সুতরাং, 'num' ভেরিয়েবলে কমান্ড লাইন হিসাবে টার্মিনালে পাস করা মানগুলির সংখ্যা সংরক্ষণ করা হয়।



আমরা সেই আর্গুমেন্ট সংখ্যাগুলিও প্রদর্শন করি যা 'প্রিন্ট' ব্যবহার করে পাস করা হয়। এর নিচে, আমরা প্রিন্ট স্টেটমেন্টে “sys.argv[0]” রাখি। 'argv' সর্বদা প্রোগ্রামের নাম বা কোড ফাইলের নাম ধারণ করে। সুতরাং, আমরা যে ফাইলটি তৈরি করেছি তার নাম টার্মিনালে রেন্ডার করা হবে। এর পরে, আমরা সেই আর্গুমেন্টগুলি মুদ্রণ করি যা টার্মিনালে পাস হয়। এটি কনসোল স্ক্রিনে কমান্ড লাইন আর্গুমেন্ট হিসাবে আমরা পাস করা সমস্ত সংখ্যা মুদ্রণ করবে।



এর নীচে, আমরা লুপের জন্য a সংজ্ঞায়িত করেছি এবং সেখানে একটি ভেরিয়েবল 'a' ঘোষণা করেছি যার রেঞ্জ '1' থেকে argv এর দৈর্ঘ্যের মধ্যে যা 'num' এ সংরক্ষিত আছে। কনসোলে সমস্ত আর্গুমেন্ট প্রিন্ট করুন। 'argv[a]' সমস্ত কমান্ড_লাইন আর্গুমেন্ট ধারণ করে। এটি কনসোলে তাদের প্রদর্শন করে। এখন, আমরা 'সমষ্টি' শুরু করছি কারণ আমরা টার্মিনালে এক্সিকিউশনের সময় পাস করব এমন সমস্ত মানের যোগফল গণনা করতে চাই।





আমরা আবার “for” লুপ ব্যবহার করি এবং পরিসরটি পাস করি। কিন্তু এইবার, আমরা সেই সমস্ত মানগুলির যোগফল গণনা করছি যা আমরা টার্মিনালে পাস করেছি। এই যোগফল 'সমষ্টি' ভেরিয়েবলে সংরক্ষণ করা হবে। তারপর, আমরা টার্মিনালে কার্যকর করার সময় যে সমস্ত মানগুলি পাস করব তার যোগফলও মুদ্রণ করি।

আমদানি sys
একের উপর = কেবল ( sys . argv )
ছাপা ( 'মোট আর্গুমেন্ট এখানে পাস হয়েছে :' , একের উপর )
ছাপা ( ' \n পাইথন ফাইলের নাম:' , sys . argv [ 0 ] )
ছাপা ( ' \n আর্গুমেন্ট যা আমরা পাস করেছি:' , শেষ = '' )
জন্য ভিতরে পরিসীমা ( 1 , একের উপর ) :
ছাপা ( sys . argv [ ] , শেষ = '' )
সমষ্টি = 0
জন্য i ভিতরে পরিসীমা ( 1 , একের উপর ) :
সমষ্টি + = int ( sys . argv [ i ] )
ছাপা ( ' \n \n উত্তীর্ণ আর্গুমেন্টের সমষ্টি: ' , সমষ্টি )



টার্মিনালে, আমরা প্রথমে 'রান' কীওয়ার্ড রাখি। তারপরে, সঠিক এক্সটেনশন সহ ফাইলের নাম রাখুন এবং এখানে কমান্ড লাইন আর্গুমেন্টগুলি পাস করুন। সুতরাং, এটি সমস্ত লাইন প্রদর্শন করে যেমন আমরা উপরের কোডে সংজ্ঞায়িত করেছি। এটি প্রথমে কমান্ড লাইন আর্গুমেন্টের দৈর্ঘ্য রেন্ডার করে তারপর ফাইলের নাম। এর পরে, এটি সমস্ত কমান্ড লাইন আর্গুমেন্ট রেন্ডার করে এবং তাদের সকলের যোগফলও রেন্ডার করে।

উদাহরণ # 02: argparse পদ্ধতি দ্বারা

এখন, আমরা এই উদাহরণে 'argparse' পদ্ধতি ব্যবহার করছি। আমরা প্রথমে 'আর্গপার্স' আমদানি করি। সুতরাং, আমরা এর ভেরিয়েবল এবং ফাংশন অ্যাক্সেস করব। আমরা একটি 'ডেটা' ভেরিয়েবল শুরু করি এবং একটি লাইন সংরক্ষণ করি যা আমরা আমাদের কোডে ব্যবহার করব। এর পরে, আমরা একটি 'পার্সার' শুরু করছি এবং 'বিবরণ' এ আমরা 'ডেটা' ভেরিয়েবলটি পাস করি যেখানে আমরা যে বার্তাটি প্রদর্শন করতে চাই তা সংরক্ষণ করেছি এবং আমরা এইগুলিকে 'my_parser' ভেরিয়েবলে রাখি। আমরা শেষে 'parse.args()' রাখি।

আমদানি argparse

তথ্য = 'আমরা এখানে argparse পদ্ধতি ব্যবহার করছি'

আমার_পার্সার = argparse আর্গুমেন্ট পার্সার ( বর্ণনা = তথ্য )

আমার_পার্সার পার্স_আর্গস ( )

নীচের ফলাফল তাকান. যখন আমরা কমান্ড লাইন আর্গুমেন্ট হিসাবে '-h' পাস করি এটি প্রথমে বার্তাটি রেন্ডার করে যা আমরা 'ডেটা' ভেরিয়েবলে সংরক্ষণ করেছি এবং 'ঐচ্ছিক যুক্তি' দেখায় কারণ এই 'h' সাহায্য বার্তাটি দেখায়। যখন আমরা কমান্ড লাইন আর্গুমেন্ট হিসাবে '-o' রাখি, এটি একটি ত্রুটি বার্তা দেয় যে এটি একটি অচেনা যুক্তি।

উদাহরণ # 03: getopt পদ্ধতি দ্বারা

এখানে শেষ পদ্ধতি যা আমরা এই কোডে ব্যবহার করছি। আমরা এই কোডে 'sys' এর পাশাপাশি 'getopt' আমদানি করছি। এই 'getopt' হল পার্সার যা আমরা কমান্ড লাইন আর্গুমেন্টের জন্য ব্যবহার করেছি। তারপর, 'আর্গুমেন্টলিস্ট' ভেরিয়েবলে, আমরা কমান্ড লাইনে যে প্রথম আর্গুমেন্টটি পাস করছি তা মুছে ফেলার জন্য আমরা 'sys.argv[1:]' পাস করেছি। আমরা 'hmo:' দিয়ে 'my_option' আরম্ভ করি।

এর পরে, আমরা 'my_long_option' ভেরিয়েবল শুরু করছি। আমরা এখানে 'ট্রাই' ব্যবহার করি যা ত্রুটি পরীক্ষা করবে। এর পরে, আমরা যুক্তিগুলি বিশ্লেষণ করছি। 'getopt' একটি মান নির্ধারণের বিকল্পের সাথে সংক্ষিপ্ত এবং দীর্ঘ উভয় বিকল্পই অফার করে। এর পরে, আমরা কমান্ড লাইন আর্গুমেন্ট হিসাবে পাস করব এমন সমস্ত আর্গুমেন্ট পরীক্ষা করছি। কমান্ড লাইন আর্গুমেন্ট যদি '-h' বা '-Help' হয়, তাহলে এটি নীচে দেওয়া বার্তাটি প্রিন্ট করবে। কমান্ড লাইন আর্গুমেন্ট যদি “-m” বা “—My_file” হয়, তাহলে এটি এর পরে লেখা বার্তাটি প্রদর্শন করবে।

এছাড়াও, কমান্ড লাইন আর্গুমেন্ট যদি “-o” বা “–আউটপুট” হয়, তাহলে এটি সেই বার্তাটিও প্রদর্শন করে যা আমরা এর পরে এখানে লিখেছি। কমান্ড লাইন আর্গুমেন্ট উপরের সব থেকে না হলে, এটি ত্রুটি বার্তা প্রদর্শন করবে যেমন আমরা 'getopt' স্থাপন করেছি। কোডে ত্রুটি'।

আমদানি শীর্ষে , sys
যুক্তি তালিকা = sys . argv [ 1 : ]
my_options = 'রাত্রি:'
নতুন_দীর্ঘ_বিকল্প = [ 'সাহায্য' , 'আমার কাগজপত্র' , 'আউটপুট='
চেষ্টা করুন :
যুক্তি , মান = শীর্ষে . শীর্ষে ( যুক্তি তালিকা , my_options , নতুন_দীর্ঘ_বিকল্প )
জন্য আমার_যুক্তি , আমার_মান ভিতরে যুক্তি:
যদি আমার_যুক্তি ভিতরে ( '-ঘ' , '---সাহায্য' ) :
ছাপা ( 'সহায়তা প্রদর্শন করা হচ্ছে' )
এলিফ আমার_যুক্তি ভিতরে ( '-মি' , '--আমার কাগজপত্র' ) :
ছাপা ( 'ফাইল_নাম প্রদর্শন করা হচ্ছে:' , sys . argv [ 0 ] )
এলিফ আমার_যুক্তি ভিতরে ( '-ও' , '---আউটপুট' ) :
ছাপা ( ( 'বিশেষ আউটপুট মোড সক্ষম করা হচ্ছে (%s)' ) % ( আমার_মান ) )
ছাড়া শীর্ষে . ত্রুটি হিসাবে ভুল
ছাপা ( str ( ভুল ) )

এখানে আপনি দেখতে পাচ্ছেন যে যখন আমরা কমান্ড লাইন হিসাবে '-h' রাখি তখন এটি একই বার্তা প্রদর্শন করে যা আমরা কোডে লিখেছি। যখন আমরা দুটি কমান্ড লাইন আর্গুমেন্ট রাখি “–Help” এবং এছাড়াও “-m”, তখন এটি নীচে দুটি বার্তা প্রদর্শন করে। '-o' কমান্ড লাইন আর্গুমেন্টে, আমরা স্ট্রিংটিও পাস করেছি যা বার্তাতেও প্রদর্শিত হয়।

উপসংহার

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