কম্পিউটার

জিপ সংরক্ষণাগার থেকে পাইথন আমদানি মডিউল (zipimport)


'zipimport' মডিউলের ব্যবহার জিপ-ফরম্যাট সংরক্ষণাগার থেকে পাইথন মডিউল এবং প্যাকেজ আমদানি করা সম্ভব করে তোলে। এই মডিউলটি sys.path-এর একটি আইটেমকে একটি জিপ ফাইল সংরক্ষণাগার নামকরণকারী একটি স্ট্রিং হতে দেয়। জিপ সংরক্ষণাগারে যেকোন ফাইল থাকতে পারে, কিন্তু শুধুমাত্র .py এবং .pyc ফাইল আমদানির জন্য উপলব্ধ। গতিশীল মডিউলগুলির জিপ আমদানি অনুমোদিত নয়৷

এই মডিউলটির কার্যকারিতা প্রথমে 'newdir' ডিরেক্টরিতে ফাইলগুলির একটি জিপ সংরক্ষণাগার তৈরি করে ব্যাখ্যা করা হয়েছে। নিম্নলিখিত ফাইলগুলি newdir ডিরেক্টরিতে উপস্থিত বলে ধরে নেওয়া হয়

['guess.py', 'hello.py', 'impzip.py', 'mytest.py', 'prime.py', 'prog.py', 'tmp.py']

ইম্পোর্ট sys, globimport zipfilefiles =glob.glob("*.py")প্রিন্ট (ফাইল)zf =zipfile.PyZipFile('zipimp.zip', mode='w') ফাইলে ফাইলের জন্য:zf.write( ফাইল)zf.close()

আমরা এখন নিবন্ধের বাকি অংশে 'zipimp.zip' ব্যবহার করি।

'zipimport' মডিউল zipimporter কে সংজ্ঞায়িত করে যে শ্রেণীতে নিম্নলিখিত পদ্ধতিগুলি সংজ্ঞায়িত করা হয়েছে

zipimporter ()

এই পদ্ধতিটি কনস্ট্রাক্টর যা একটি নতুন জিপিমপোর্টার উদাহরণ তৈরি করে। এটি একটি ZIP ফাইলের আর্গুমেন্টের পথের প্রয়োজন। ZipImportError উত্থাপিত হয় যদি এটি একটি বৈধ ZIP সংরক্ষণাগার না হয়।

>>> zipimport আমদানি>>> আমদানিকারক =zipimport.zipimporter('zipimp.zip')

find_module()

এই পদ্ধতিটি একটি নির্দিষ্ট মডিউলের জন্য অনুসন্ধান করে। মডিউলটি পাওয়া গেলে এটি জিপিমপোর্টার উদাহরণ প্রদান করে, অথবা যদি এটি না থাকে তবে কোনটিই নয়৷

>>> ret=importer.find_module('prime')>>> ret>>>> ret=importer.find_module('sample')>>> ret>>> মুদ্রণ (ret)কোনটিই নয়

get_code()

এই পদ্ধতিটি নির্দিষ্ট মডিউলের জন্য কোড অবজেক্ট ফেরত দেয়, যদি মডিউলটি খুঁজে না পাওয়া যায় তাহলে ZipImportError বাড়ায়।

>>> prog=importer.get_code('prime')>>> প্রিন্ট (prog) 0x022A4650 এ, ফাইল "zipimp.zip\prime.py", লাইন 1>

লোড_মডিউল()

এই পদ্ধতিটি নির্দিষ্ট মডিউল লোড করে। এটি আমদানি করা মডিউল ফেরত দেয়, অথবা এটি খুঁজে না পাওয়া গেলে ZipImportError উত্থাপন করে৷

>>> আমদানিকারক =zipimport.zipimporter('zipimp.zip')>>> mod=importer.load_module('prog')30>>> mod.__name__'prog'>>> mod.__file__'zipimp. zip\\prog.py'>>> mod.__loader__

get_source()

এই পদ্ধতিটি নির্দিষ্ট মডিউলের জন্য সোর্স কোড প্রদান করে।

>>> prog=importer.get_source('prime')>>> print (prog)def isprime(x):রেঞ্জে i এর জন্য(2,x-1):যদি x%i==0:রিটার্ন False else:রিটার্ন Truef =int(input())l =int(input())primelist =list(filter(isprime, range(f,l)))print ("prime1", "prime2", "composites") কম্পোজিট=[(primelist[i-1], primelist[i],(primelist[i]-1)-primelist[i-1]) i এর জন্য রেঞ্জ(1,len(primelist))]প্রিন্ট (কম্পোজিট) 
  1. পাইথন মডিউলে সমস্ত ফাংশন কীভাবে তালিকাভুক্ত করবেন?

  2. পাইথনে from...import * স্টেটমেন্টের ব্যবহার কী?

  3. পাইথন মডিউল থেকে একটি একক ফাংশন কিভাবে আমদানি করবেন?

  4. পাইথনে একাধিক আমদানি কীভাবে করবেন?