কম্পিউটার

পাইথন মডিউলগুলি সনাক্ত করা এবং কার্যকর করা (রানপি)


কমান্ড লাইন বিকল্পের –m বিকল্পটি একটি প্রদত্ত মডিউল অনুসন্ধান করে এবং এটিকে __main__ মডিউল হিসাবে চালায়। এই প্রক্রিয়াটি পাইথনের স্ট্যান্ডার্ড মডিউল থেকে রানপি মডিউল দ্বারা অভ্যন্তরীণভাবে সমর্থিত যা ফাইল সিস্টেমের পরিবর্তে পাইথন মডিউল নেমস্পেস ব্যবহার করে স্ক্রিপ্টগুলিকে অবস্থিত করার অনুমতি দেয়৷

এই মডিউল দুটি ফাংশন সংজ্ঞায়িত করে

run_module()

এই ফাংশনটি নির্দিষ্ট মডিউলের কোড নির্বাহ করে এবং ফলস্বরূপ মডিউল গ্লোবাল ডিকশনারি ফেরত দেয়।

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

বিশেষ গ্লোবাল ভেরিয়েবল __name__, __spec__, __file__, __cached__, __loader__ এবং __package__ মডিউল কোড কার্যকর করার আগে গ্লোবাল অভিধানে সেট করা হয়।

__name__ mod_name + '.__main__' এ সেট করা হয় যদি নামকৃত মডিউলটি একটি প্যাকেজ হয় এবং অন্যথায় mod_name আর্গুমেন্টে।

__file__, __cached__, __loader__ এবং __package__ মডিউল স্পেকের উপর ভিত্তি করে স্বাভাবিক হিসাবে সেট করা হয়েছে।

run_path()

এই ফাংশনটি প্রদত্ত পাথে ফাইলের কোড নির্বাহ করে এবং ফলস্বরূপ মডিউল গ্লোবাল ডিকশনারী প্রদান করে। সরবরাহ করা পথটি একটি পাইথন সোর্স ফাইল, একটি সংকলিত বাইটকোড ফাইল বা একটি __main__ মডিউল ধারণকারী একটি বৈধ sys.path এন্ট্রি (যেমন একটি শীর্ষ-স্তরের __main__.py ফাইল ধারণকারী একটি zipfile) উল্লেখ করতে পারে।

বিশেষ গ্লোবাল ভেরিয়েবল __name__, __spec__, __file__, __cached__, __loader__ এবং __package__ মডিউল কোড কার্যকর করার আগে গ্লোবাল অভিধানে সেট করা হয়।

এই ঐচ্ছিক যুক্তিটি None না হলে __name__ কে run_name এ সেট করা হয় এবং অন্যথায় '' এ সেট করা হয়।

উদাহরণ

নিম্নলিখিত স্ক্রিপ্টটি runpyeample.py

হিসাবে সংরক্ষণ করুন
#runpy example
def add(x,y):
   return x+y
def main():
   x,y = 10,20
   print (add(x,y))
   return
if __name__=='__main__':
   main()

উপরের উদাহরণ কার্যকর করার স্বাভাবিক প্রক্রিয়াটি নিম্নরূপ

>>> import runpyexample as rp
>>> rp.main()
30
>>>

যাইহোক, আমরা এখন এটিকে ইম্পোর্ট না করেই চালানোর জন্য রানপি মডিউল ব্যবহার করি।

>>> import runpy
>>> runpy.run_module('runpyexample', run_name='__main__')
30

আপনি run_path() ফাংশনও ব্যবহার করতে পারেন।

>>> runpy.run_path('runpyexample.py', run_name='__main__')
30

আগেই বলা হয়েছে, রানপি পাইথন কমান্ড লাইনের –m সুইচ সমর্থন করে।

E:\python37>python -m runpyexample
30

  1. পাইথনে xlsxwriter মডিউল ব্যবহার করে এক্সেল ফাইল তৈরি করুন এবং লিখুন

  2. পাইথন গেটপাস মডিউল

  3. পাইথন openpyxl মডিউল ব্যবহার করে একটি এক্সেল ফাইল পড়ুন এবং লিখুন

  4. কীভাবে মডিউল এবং/অথবা প্যাকেজে পাইথন ক্লাস সংগঠিত করবেন