কম্পিউটার

পাইথনে পাঠ্য লাইনে র্যান্ডম অ্যাক্সেস (লাইনক্যাশে)


পাইথনের স্ট্যান্ডার্ড লাইব্রেরিতে লাইনক্যাশ মডিউলের উদ্দেশ্য হল যে কোনো টেক্সট ফাইলে র্যান্ডম অ্যাক্সেস সহজতর করা, যদিও এই মডিউলটি পাইথনের ট্রেসব্যাক মডিউল দ্বারা ত্রুটির ট্রেস স্ট্যাক তৈরি করতে ব্যাপকভাবে ব্যবহৃত হয়। পড়ার আরও সুন্দর ছাপগুলি একটি ক্যাশে রাখা হয় যাতে বারবার লাইন পড়ার সময় এটি সময় বাঁচায়৷

এই মডিউলের সবচেয়ে গুরুত্বপূর্ণ ফাংশন হল getline() যা প্রদত্ত ফাইল থেকে একটি নির্দিষ্ট লাইন নম্বর পড়ে। নিম্নলিখিত ফাংশন তালিকা -

গেটলাইন(ফাইল, x)

এই ফাংশন ফাইল থেকে xth লাইন প্রদান করে। উপস্থিত না হলে এটি খালি স্ট্রিং ফিরে আসবে। ফাইলটি বর্তমান পাথে উপস্থিত না থাকলে, sys.path - মডিউল অনুসন্ধান পাথ-এর ডিরেক্টরিতে এটিকে সনাক্ত করতে ফাংশন টাই।

ক্লিয়ারক্যাশে()

যদি পূর্ববর্তী getline() ফাংশনের প্রিটিপ্রিন্টের আর প্রয়োজন না হয়, আপনি এই ফাংশন দ্বারা ক্যাশে সাফ করতে পারেন৷

চেকক্যাশে()

এই ফাংশন ক্যাশে বৈধ কিনা তা পরীক্ষা করে। ক্যাশে ফাইলগুলি ডিস্কে পরিবর্তন করা হলে এটি কার্যকর।

lazycache()

module_globals সহ ফাইলের নামের জন্য ক্যাশে বীজ করুন। মডিউল লোডারকে উৎসের জন্য জিজ্ঞাসা করা হবে শুধুমাত্র যখন গেটলাইন কল করা হবে, অবিলম্বে নয়।

গেটলাইন()

এই ফাংশন লিস্ট অবজেক্ট আকারে ফাইল থেকে লাইন রিটার্ন করে।

আপডেটক্যাশে()

এই ফাংশন ক্যাশে এন্ট্রি আপডেট করে এবং লাইনের একটি তালিকা প্রদান করে।

লাইনক্যাশ কার্যকারিতার ব্যবহার প্রদর্শনের জন্য, প্রথমে আমরা পাইথনের বিখ্যাত জেন (পাইথনের নকশা দর্শনকে প্রভাবিত করে এমন সফ্টওয়্যার নীতিগুলির তালিকা) সংরক্ষণ করার জন্য একটি টেক্সট ফাইল তৈরি করি। 'এটি আমদানি করুন'-এর আউটপুট −

অনুসরণ করে zen.txt-এ পুনঃনির্দেশিত হয়
import sys, io
zen = io.StringIO()
old_stdout = sys.stdout
sys.stdout = zen
import this
sys.stdout = old_stdout
f=open('zen.txt','w')
f.write(zen.getvalue())
f.close()

উপরের কোডটি কার্যকর করা হলে, বর্তমান ডিরেক্টরিতে zen.txt তৈরি হবে। getline() ফাংশন দিয়ে আমরা এই টেক্সট ফাইলটি থেকে লাইন পড়ার জন্য ব্যবহার করব।

ফাইল থেকে 4র্থ লাইন পড়তে

>>> linecache.getline('zen.txt',4)
'Explicit is better than implicit.\n'

নোট করুন যে রিটার্ন স্ট্রিংটি নতুন লাইনের অক্ষর দিয়ে শেষ হয়।

4 থেকে 10 পর্যন্ত লাইন সংখ্যা প্রদর্শন করতে, getlines() ফাংশন দ্বারা প্রত্যাবর্তিত তালিকায় স্লাইস অপারেটর ব্যবহার করুন

>>> linecache.getlines('zen.txt')[4:10]
['Simple is better than complex.\n', 'Complex is better than complicated.\n', 'Flat is better than nested.\n', 'Sparse is better than dense.\n', 'Readability counts.\n', "Special cases aren't special enough to break the rules.\n"]

এই নিবন্ধে আমরা পাইথন স্ট্যান্ডার্ড লাইব্রেরিতে লাইনক্যাশ মডিউল সম্পর্কে শিখেছি।


  1. পাইথন টিকিন্টারে asksaveasfile() ফাংশন

  2. পাইথন টিকিন্টারে askopenfile() ফাংশন

  3. পাইথন প্রোগ্রামে পাঠ্য ফাইলগুলি পড়া এবং লেখা

  4. পাইথনে issubset() ফাংশন