এ পর্যন্ত আমরা যত প্রোগ্রাম দেখেছি তা সবই কনসোল (console) নির্ভর, অর্থাৎ আউটপুট আমরা কম্পিউটার স্ক্রিনেই দেখতে পাচ্ছিলাম। কিন্তু এমন যদি হয় যে আমরা আমাদের ফলাফলটিকে কম্পিউটারের কোন ফাইলে সেভ করে রাখতে চাই বা কম্পিউটারে সংরক্ষিত কোন ফাইল নিয়ে কাজ করতে চাই তাহলে ফাইল থেকে পড়া বা লেখার প্রয়োজন। এগুলোর জন্য পাইথনে কিছু বিল্ট-ইন ফাংশন আছে যেগুলো ব্যবহার করে সহজেই ফাইল হ্যান্ডল করা যায়।
ফাইল তৈরি করা (create a file)
পাইথনে যেকোন ফাইল অপারেশনের জন্য open() ফাংশনটি ব্যবহার করা হয়। এখনে একটি ফাইল তৈরি করা দেখে নেই-
# This is an example of crating file in python
open("testfile.txt","w")
এই প্রোগ্রামটি রান করলে একই ডিরেক্টরিতে একটি text ফাইলে তৈরি হবে যার নাম testfile.txt
অর্থাৎ open() ফাংশনের প্রথম আর্গুমেন্ট হচ্ছে ফাইলের নাম এবং দ্বিতীয় প্যারামিটার হচ্ছে মোড বা ধরণ, যেটা নির্দেশ করে এই ফাইল দিয়ে কি অপারেশন করা হবে। নিচের টেবিল থেকে ফাইল হ্যান্ডেলিং এর বিভিন্ন মোড সম্পর্কে জেনে নেই-
মোড (mode) | কাজ |
“r” | ফাইল পড়ার (read) জন্য। যদি কোন ফাইল না থাকে তাহলে এরর দেখাবে। |
“a” | append বা ফাইলের শেষে কোনকিছু যুক্ত করার জন্য ব্যবহার করা হয়। যদি ঐ নামে কোন ফাইল না থাকে তাহলে নতুন করে ফাইল তৈরি করে। |
“w” | ফাইলে লেখার জন্য ব্যবহার করা হয়। যদি ঐ নামে কোন ফাইল না থাকে তাহলে নতুন ফাইল তৈরি করে। |
“x” | ফাইল তৈরি করার জন্য ব্যবহার করা হয়। যদি ঐ নামে কোন ফাইল থেকে থাকে তাহলে এরর দেখায়। |
উল্লেখ্য, “a” এবং “w” দুইটাই ফাইলে লেখার জন্য ব্যবহার করা হয়; কিন্তু “w” ব্যবহার করলে ফাইলে থাকা পূর্বের তথ্য মুছে শুধু বর্তমান তথ্যটুকুই লিপিবদ্ধ করে, আর “a” পূর্বের তথ্যের সাথে নতুন তথ্য যোগ করে।
কোন ফাইল বাইনারি বা টেক্সট ফাইল হিসেবে কাজ করবে কিনা সেটাও নির্ধারণ করে দেওয়া যায়। নিচের টেবিলটি লক্ষ্য করি।
মোড (mode) | কাজ |
“t” | ফাইলের তথ্যগুলো টেক্সট হিসেবে পড়ে বা লেখে। |
“b” | ফাইলের তথ্যগুলো বাইনারি হিসেবে পড়ে বা লেখে। |
“t” মোডটিই ডিফল্ট ভ্যালু হিসেবে থাকে। উপরের যে উদাহরণটি দেখেছি সেখানে মোড হিসেবে “w” ব্যবহার করা হয়েছে; ওখানে “w” এবং “wt” একই অর্থ বহন করে।
ফাইলে লেখা (Writing to a File)
একটু আগেই আমরা একটা ফাইল তৈরি করা শিখেছি। এখন আমরা ফাইলে লেখা শিখব। ফাইলে লেখার জন্য কিছু নির্দিষ্ট মেথড আছে, তবে সাধারণত write() ফাংশনটি ব্যবহার করা হয়। নিচের উদাহরনটি দেখে নেই-
# This is an example of writing a file in python
f=open("testfile.txt","w")
f.write("This is the first text in the file.")
f.close()
এখানে testfile নামের ফাইলটিকে read মোডে খোলা হয়েছে, তারপর write() মেথড ব্যবহার করে ফাইলে লেখা হয়েছে।
একই ডিরেক্টরিতে testfile.txt ফাইলটি ওপেন করলেই এই ফাইলটিতে This is the first text in the file. লেখাটি দেখতে পাওয়া যাবে।
উল্লখ্য, কোন ফাইল খুললে সেটা অবশ্যই close() ফাংশন ব্যবহার করে বন্ধ করে দিতে হবে, না হলে অনাকাঙ্খিত এরর দেখা দিতে পারে।
ফাইল খোলা (opening a file)
কোন একটা ফাইলকে খোলার জন্য read() মেথড ব্যবহার করতে হয়। একটা উদাহরণ দেখে নেই –
# This is an example of reading from a file in python
f=open("testfile.txt","r")
print(f.read())
f.close()
ফলাফল-
This is the first text in the file.
আগের লেখাটিই কনসোলে দেখতে পাচ্ছি। এখানে লক্ষণীয়, ফাইল মোড “r” ব্যবহার করা হয়েছে। এখানে “w” ব্যবহার করলে কিন্তু কাঙ্খিত ফলাফল আসবে না, তাই সবসময় এই বিষয়ে সতর্ক দৃষ্টি রাখা জরুরি।