ফাইলগুলি একটি ডিস্কে ডেটা সংরক্ষণ এবং সংগঠিত করতে ব্যবহৃত হয়। হার্ডডিস্কে স্থায়ীভাবে ডেটা সংরক্ষণ করার প্রয়োজন হলে আমরা প্রায়ই ফাইল ব্যবহার করি। উদাহরণস্বরূপ, বলুন আমরা একটি সফ্টওয়্যার সিস্টেম তৈরি করছি যা ছাত্রদের রেকর্ড বজায় রাখে। এখন, ভবিষ্যতে ব্যবহারের জন্য আমাদের শিক্ষার্থীদের ডেটা স্থায়ীভাবে সংরক্ষণ করতে হবে। এই উদ্দেশ্যে, আমরা তথ্য সংরক্ষণের জন্য ফাইলগুলি ব্যবহার করতে পারি, এবং পরবর্তীতে, আমরা এই ফাইলগুলি খুলতে পারি এবং যে কোনও সময় সঞ্চিত ডেটা অ্যাক্সেস করতে পারি।
পাইথনে ফাইল পড়া এবং লেখা খুবই সাধারণ কাজ। পাইথনে ফাইল তৈরি, পড়া এবং সম্পাদনা করা সহজ। পাইথন ফাইল পড়া এবং লেখার জন্য অন্তর্নির্মিত ফাংশন নিয়ে আসে। আপনি পাইথন বিল্ট-ইন ফাংশন ব্যবহার করে ফাইল খুলতে, লিখতে এবং পড়তে পারেন। ফাইল অপারেশন নিম্নলিখিত ক্রমে সঞ্চালিত হয়:
- একটি ফাইল খুলুন
- ফাইল পড়ুন/লিখুন
- ফাইল বন্ধ করুন
পাইথন ব্যবহার করে, আপনি টেক্সট ফাইল এবং বাইনারি ফাইল তৈরি করতে পারেন। পাঠ্য ফাইলগুলি অক্ষরের আকারে ডেটা সঞ্চয় করে এবং প্রতিটি লাইন একটি নতুন লাইন অক্ষরে শেষ হয় (' n')। বাইনারি ফাইলগুলিতে, ডেটা বাইট আকারে সংরক্ষণ করা হয় (1 এবং 0)।
এই নিবন্ধে, আপনি শিখবেন:
- পাইথনে বিভিন্ন ফাইল মোডের কিছু
- কিভাবে একটি ফাইল খুলবেন
- কিভাবে একটি ফাইল তৈরি করবেন
- কিভাবে একটি ফাইলে ডেটা লিখবেন
- কিভাবে একটি ফাইল পড়বেন
পাইথনে বিভিন্ন ফাইল মোড
পাইথনের মোডগুলি ফাইলে যে ধরনের অপারেশন করতে হবে তা বর্ণনা করে। একটি ফাইল খোলার সময়, আপনাকে অবশ্যই মোডটি নির্দিষ্ট করতে হবে। প্রতিটি ফাইলের একটি ফাইলের হ্যান্ডেল থাকে। ফাইল হ্যান্ডেল একটি কার্সারের মতো কাজ করে যা ডেটা কোথায় লিখতে এবং পড়তে হবে তা নির্দিষ্ট করে। এটি এক ধরনের লোকেশন পয়েন্টার। নিম্নলিখিতগুলি পাইথনে বিভিন্ন অ্যাক্সেস ফাইল মোড অন্তর্ভুক্ত করে:
মোড | বর্ণনা |
আর | ফাইল পড়ার মোডে খোলে। এই মোডটি ডিফল্টরূপে নির্বাচিত হয় যদি আপনি পাইথনে ফাইল খোলার সময় কোন মোড সংজ্ঞায়িত না করেন। |
ভিতরে | একটি ফাইল লিখছেন। এই মোড একটি ফাইল তৈরি করে যদি ফাইলটি ইতিমধ্যে বিদ্যমান না থাকে এবং ফাইলের ডেটা ওভাররাইট করে। |
আর+ | ফাইল পড়তে এবং লিখতে ব্যবহৃত হয়। ফাইলটি না থাকলে এটি একটি ত্রুটি দেখায়। |
প্রতি | পরিশিষ্ট মোডে ফাইলটি খোলে। ফাইলের হ্যান্ডেলটি ফাইলের শেষে অবস্থিত। এই মোড বিদ্যমান ডেটা ওভাররাইট করে না কিন্তু ফাইলের শেষে ডেটা লেখা শুরু করে। ফাইলটি না থাকলে একটি নতুন ফাইল তৈরি করা হয়। |
a + | পড়া এবং লেখার জন্য ফাইলটি খোলে। এটি লেখার জন্য পরিশিষ্ট মোডে ফাইলটি খোলে। ফাইলের শেষে ডেটা োকানো হয়। ফাইলটি না থাকলে একটি নতুন ফাইল তৈরি করা হয়। |
টি | ফাইলটি টেক্সট মোডে খোলে। |
কিভাবে একটি ফাইল খুলবেন
পাইথনে একটি ফাইল খুলতে, অন্তর্নির্মিত ব্যবহার করুন খোলা () ফাংশন ওপেন () ফাংশন ইনপুট হিসাবে দুটি আর্গুমেন্ট নেয়, যেমন, ফাইলের নাম এবং অপারেশন মোড। এই ফাংশনটি আউটপুট হিসেবে ফাইল অবজেক্ট রিটার্ন করে। Open () ফাংশন ব্যবহার করার জন্য কোন মডিউল আমদানির প্রয়োজন নেই। খোলা () ফাংশনের সিনট্যাক্স নিম্নরূপ:
file_object= খোলা(file_name,মোড)এখানে, 'file_name' প্রকৃত টেক্সট ফাইলের নাম উপস্থাপন করে, যখন 'মোড' ফাইল অ্যাক্সেস বা ফাইল অপারেশন মোডকে প্রতিনিধিত্ব করে। আপনি যদি 'file_name' এর আগে r বসাতে পারেন, যদি ফাইলের নামটিতে বিশেষ অক্ষর থাকে। R নিম্নরূপ স্থাপন করা হয়:
=file_object= খোলা(rfile_name,মোড)
উদাহরণস্বরূপ, ফাইলের নাম হতে পারে: F: newfolder myfile.txt
কিভাবে একটি ফাইল তৈরি করবেন
Open () ফাংশনটি পাইথনে ফাইল তৈরি করতে ব্যবহার করা যেতে পারে। ফাইল তৈরি করতে open () ফাংশনের ভিতরে অ্যাপেন্ড মোড (a) ব্যবহার করুন। নীচের দেওয়া কোড ব্যবহার করে একটি ফাইল তৈরি করুন:
ফাইল = খোলা('sample.txt','প্রতি')এখানে, একটি নতুন ফাইল বস্তু তৈরি করা হয়। ফাইল বস্তুর নাম ফাইল। নতুন তৈরি টেক্সট ফাইলের নাম sample.txt। টেক্সট ফাইল পরিশিষ্ট মোডে খোলা হয়। ফাইলটি যদি বিদ্যমান না থাকে তবে এটি নতুন ফাইল তৈরি করবে। ফাইল তৈরির পরে, আপনাকে অবশ্যই নিম্নলিখিত উপায়ে ফাইলটি বন্ধ করতে হবে:
ফাইল।বন্ধ()ফাইলটি বন্ধ করতে বিল্ট-ইন ক্লোজ () ফাংশন ব্যবহার করা হয়।
কিভাবে একটি ফাইলে ডেটা লিখবেন
পাইথনে দুটি ফাংশন একটি ফাইলে ডেটা লেখার জন্য ব্যবহৃত হয়:
- লিখুন ()
- রিটলাইন ()
রাইট () ফাংশনটি একটি ফাইলে একক লাইন বা একক স্ট্রিং ডেটা লেখার জন্য ব্যবহৃত হয়, যখন রাইটলাইন () ফাংশনটি একটি টেক্সট ফাইলে একাধিক লাইন ডেটা লেখার জন্য ব্যবহৃত হয়। আসুন একটি ফাইলে ডেটা লেখার কিছু উদাহরণ দেখি।
রাইট () ফাংশন ব্যবহার করে
এই উদাহরণে, আমরা একটি ফাইলে ডেটা লেখার জন্য write () ফাংশন ব্যবহার করছি। ফাইলটি লেখার মোডে খোলা হয়। n লাইনের শেষ নির্দিষ্ট করার জন্য স্থাপন করা হয়।
# একটি নতুন ফাইল অবজেক্ট তৈরি করা এবং একটি ফাইল রাইটিং মোডে খোলাফাইল=খোলা('sample.txt','ভিতরে')
# একটি ফাইলে একক লাইন লেখা
ফাইল।লিখুন('লিনাক্সহিন্টে স্বাগতমn')
# একটি ফাইলে অন্য একটি লাইন লেখা
ফাইল।লিখুন('ফিরে আসার জন্য স্বাগতম')
#ফাইল বন্ধ করা হচ্ছে
ফাইল।বন্ধ()
আউটপুট
লাইনগুলি টেক্সট ফাইলে লেখা হয়েছে।
যদি আমরা ফাইলটি রাইটিং মোডে খুলি এবং রাইট () ফাংশনটিকে ফাইলে আরও লাইন লিখতে বলি, এটি আগের ডেটাকে ওভাররাইট করবে এবং টেক্সট ফাইলে নতুন ডেটা যুক্ত হবে।
# একটি নতুন ফাইল অবজেক্ট তৈরি করা এবং একটি ফাইল রাইটিং মোডে খোলাফাইল=খোলা('sample.txt','ভিতরে')
# একটি ফাইলে একক লাইন লেখা
ফাইল।লিখুন('সবাইকে অভিবাদনn')
# একটি ফাইলে অন্য একটি লাইন লেখা
ফাইল।লিখুন('এটি প্রতিস্থাপিত স্ট্রিং')
#ফাইল বন্ধ করা হচ্ছে
ফাইল।বন্ধ()
আউটপুট
আউটপুটে, দেখা যায় যে আগের ডেটা প্রতিস্থাপিত হয়েছে এবং টেক্সট ফাইলে তার জায়গায় নতুন ডেটা যোগ করা হয়েছে।
আমরা যদি ফাইলে আগের এবং নতুন ডেটা দুটোই রাখতে চাই, তাহলে আমরা ফাইলটি এপেন্ড মোডে খুলতে পারি, যেমন:
# একটি নতুন ফাইল অবজেক্ট তৈরি করা এবং একটি অ্যাপেন্ড মোডে একটি ফাইল খোলাফাইল=খোলা('sample.txt','প্রতি')
# একটি ফাইলে একক লাইন লেখা
ফাইল।লিখুন('সবাইকে অভিবাদনn')
# একটি ফাইলে অন্য একটি লাইন লেখা
ফাইল।লিখুন('এটি প্রতিস্থাপিত স্ট্রিংn')
# একটি ফাইলে আরেকটি নতুন একক লাইন লেখা
ফাইল।লিখুন('এটি নতুন যোগ করা স্ট্রিং স্ট্রিংn')
#ফাইল বন্ধ করা হচ্ছে
ফাইল।বন্ধ()
আউটপুট
রিটলাইন () ফাংশন ব্যবহার করে
রিটলাইনস () ফাংশনটি একটি পাঠ্যে একাধিক লাইন লিখতে ব্যবহার করা হয়, নিম্নরূপ:
# একটি নতুন ফাইল অবজেক্ট তৈরি করা এবং একটি ফাইল রাইটিং মোডে খোলাফাইল=খোলা('file1.txt','ভিতরে')
# একটি ভেরিয়েবলে একাধিক স্ট্রিং ডেটা সংরক্ষণ করা
পৃ = ['সবাইকে অভিবাদনn','লিনাক্সহিন্টে স্বাগতমn',আমরা রাইটলাইন ফাংশন ব্যবহার করছিn']
# একটি ফাইলে ডেটা লেখার জন্য রাইটলাইন ফাংশন ব্যবহার করে
ফাইল।রিটলাইন(পৃ)
#ফাইল বন্ধ করা হচ্ছে
ফাইল।বন্ধ()
আউটপুট
কিভাবে একটি ফাইল পড়বেন
পাইথনে একটি ফাইল পড়ার জন্য প্রথমে ফাইলটি রিডিং মোডে খুলুন। একটি ফাইল পড়ার জন্য পাইথনে তিনটি অন্তর্নির্মিত ফাংশন রয়েছে। এর মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:
- পড়ুন ()
- রিডলাইন ()
- পড়ার লাইন ()
পড়ুন (): একটি ফাইল থেকে তথ্য পড়তে ব্যবহৃত; স্ট্রিং আকারে পুরো ডেটা ফেরত দেয়।
রিডলাইন (): একটি ফাইল থেকে তথ্য একটি লাইন পড়ে; শুধুমাত্র প্রথম লাইন প্রদান করে।
রেডলাইন (): একটি ফাইল থেকে সমস্ত বিদ্যমান লাইন পড়ে; এটি একটি তালিকা আকারে ফেরত দেয়।
Seek () ফাংশনটি ফাইল হ্যান্ডেলের অবস্থান পরিবর্তন করতে ব্যবহৃত হয়। ফাইলে ডেটা পড়ার সময়, ফাইল হ্যান্ডেল নিজেই ফাইলের শেষে অবস্থান করে। এইভাবে, একটি ফাইল হ্যান্ডেল একটি কার্সারের মত, কার্সারটি সরানোর মাধ্যম হিসেবে Seek () ফাংশন।
আসুন ফাইল থেকে ডেটা পড়ার একটি উদাহরণ দেখি।
# রিড মোডে একটি ফাইল খুলছেফাইল=খোলা('file1.txt','আর')
# ফাইল থেকে ডেটা পড়তে রিড () ফাংশন ব্যবহার করে
# একটি ভেরিয়েবলে লাইন সংরক্ষণ করা
তথ্য=ফাইল।পড়ুন()
# তথ্য মুদ্রণ
ছাপা('এটি রিড () ফাংশনের আউটপুট:n')
ছাপা(তথ্য)
# শুরুতে ফাইলের অবস্থান আনতে Seek () ফাংশন ব্যবহার করে
ফাইল।খোঁজা(0)
# ফাইল থেকে ডেটা পড়ার জন্য রিডলাইন () ফাংশন ব্যবহার করে
# একটি ভেরিয়েবলে লাইন সংরক্ষণ করা
তথ্য=ফাইল।পড়ার লাইন()
# তথ্য মুদ্রণ
ছাপা('এটি রিডলাইন () ফাংশনের আউটপুট:n')
ছাপা(তথ্য)
# শুরুতে ফাইলের অবস্থান আনতে Seek () ফাংশন ব্যবহার করে
ফাইল।খোঁজা(0)
# ফাইল থেকে ডেটা পড়ার জন্য রিডলাইন () ফাংশন ব্যবহার করে
# একটি ভেরিয়েবলে লাইন সংরক্ষণ করা
তথ্য=ফাইল।রেডলাইন()
# তথ্য মুদ্রণ
ছাপা('এটি রিডলাইন () ফাংশনের আউটপুট:n')
ছাপা(তথ্য)
#ফাইল বন্ধ করা হচ্ছে
ফাইল।বন্ধ()
আউটপুট
উপসংহার
একটি ফাইলে তথ্য বা ডেটা সংরক্ষণ করা প্রায়ই প্রয়োজন হয়। পাইথনে, আপনি সহজেই পাইথন বিল্ট-ইন ফাংশন ব্যবহার করে ফাইল তৈরি, লিখতে এবং পড়তে পারেন। যখন আপনি পড়তে, লিখতে এবং ফাইল তৈরি করতে চান তখন আপনার প্রোগ্রামে অন্যান্য মডিউল আমদানি করার প্রয়োজন নেই। ফাইলগুলি ব্যবহার করার সময় আপনি একাধিক অন্তর্নির্মিত অ্যাক্সেস মোড ব্যবহার করতে পারেন। এই নিবন্ধে, আমরা পাইথনে ফাইলগুলি কীভাবে পড়তে এবং লিখতে হয় তা কিছু সাধারণ উদাহরণ দিয়ে ব্যাখ্যা করেছি।