পাইথনে ফাইলে ডেটা পড়া এবং লেখার জন্য সবচেয়ে নিরাপদ ও আধুনিক পদ্ধতি হলো with স্টেটমেন্ট (Context Manager) ব্যবহার করা। এটি ব্যবহারের প্রধান সুবিধা হলো, কাজ শেষ হওয়ার পর ফাইলটি স্বয়ংক্রিয়ভাবে বন্ধ (close) হয়ে যায়, ফলে মেমোরি নষ্ট বা ফাইল করাপ্ট হওয়ার ঝুঁকি থাকে না।
নিচে ফাইলে ডেটা লেখা এবং পড়ার সহজ নিয়ম কোডসহ দেখানো হলো:
১. ফাইলে ডেটা লেখা (Writing to a File)
ফাইলে লেখার জন্য open() ফাংশনে মোড হিসেবে 'w' (Write) অথবা 'a' (Append) ব্যবহার করা হয়।
• 'w' মোড: ফাইলটি আগে থেকে থাকলে তার ভেতরের সব ডেটা মুছে নতুন করে লেখে। ফাইল না থাকলে নতুন ফাইল তৈরি করে।
• 'a' মোড: ফাইলের আগের ডেটা ঠিক রেখে, তার শেষ থেকে নতুন ডেটা যোগ করে।
python
# 'w' মোড ব্যবহার করে ফাইলে নতুন ডেটা লেখা
with open("example.txt", "w", encoding="utf-8") as file:
file.write("হ্যালো পাইথন!\n")
file.write("এটি ফাইল রাইটিংয়ের একটি উদাহরণ।\n")
print("ফাইলে ডেটা লেখা সফল হয়েছে!")
Use code with caution.
২. ফাইল থেকে ডেটা পড়া (Reading from a File)
ফাইল থেকে ডেটা পড়ার জন্য open() ফাংশনে মোড হিসেবে 'r' (Read) ব্যবহার করা হয় (মোড না লিখলে পাইথন ডিফল্টভাবে 'r' মোডই ধরে নেয়)। ডেটা পড়ার প্রধান ৩টি পদ্ধতি রয়েছে:
পদ্ধতি ক: সম্পূর্ণ ফাইল একসাথে পড়া (read())
python
with open("example.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)
Use code with caution.
পদ্ধতি খ: লুপ ব্যবহার করে লাইন বাই লাইন পড়া (সবচেয়ে ভালো পদ্ধতি)
ফাইলটি যদি অনেক বড় হয়, তবে পুরোটা একসাথে মেমোরিতে না নিয়ে এভাবে পড়া সুবিধাজনক:
python
with open("example.txt", "r", encoding="utf-8") as file:
for line in file:
print(line.strip()) # .strip() লাইনের শেষের বাড়তি স্পেস বা নিউলাইন (\n) বাদ দেয়
Use code with caution.
পদ্ধতি গ: সব লাইন একটি লিস্ট হিসেবে পড়া (readlines())
python
with open("example.txt", "r", encoding="utf-8") as file:
lines = file.readlines()
print(lines) # এটি প্রতিটি লাইনকে একটি লিস্টের উপাদান হিসেবে দেখাবে
Use code with caution.
ফাইল মোডের একটি সংক্ষিপ্ত তালিকা
মোড কাজ
'r' শুধু পড়ার জন্য (Read Only)। ফাইল না থাকলে Error দেখাবে।
'w' শুধু লেখার জন্য (Write Only)। আগের ডেটা মুছে ফেলে।
'a' ফাইলের শেষে নতুন ডেটা যোগ করার জন্য (Append)।
'r+' একই সাথে পড়া ও লেখার জন্য (Read and Write)।
(নোট: টেক্সট ফাইলে বাংলা বা অন্য ভাষার ক্যারেক্টার সঠিকভাবে দেখানোর জন্য সব সময় encoding="utf-8" ব্যবহার করা ভালো অভ্যাস।)