কম্পিউটার

পাইথনে ফাইল খোলা এবং বন্ধ করা


এখন পর্যন্ত, আপনি স্ট্যান্ডার্ড ইনপুট এবং আউটপুটে পড়া এবং লিখছেন। এখন, আমরা দেখব কিভাবে প্রকৃত ডেটা ফাইল ব্যবহার করতে হয়।

পাইথন মৌলিক ফাংশন এবং ডিফল্টভাবে ফাইলগুলিকে ম্যানিপুলেট করার জন্য প্রয়োজনীয় পদ্ধতিগুলি সরবরাহ করে। আপনি বেশিরভাগ ফাইল করতে পারেন একটি ফাইল অবজেক্ট ব্যবহার করে ম্যানিপুলেশন।

ওপেন ফাংশন

আপনি একটি ফাইল পড়তে বা লিখতে পারার আগে, আপনাকে পাইথনের অন্তর্নির্মিত open() ফাংশন ব্যবহার করে এটি খুলতে হবে। এই ফাংশনটি একটি ফাইল তৈরি করে অবজেক্ট, যা এর সাথে যুক্ত অন্যান্য সমর্থন পদ্ধতি কল করার জন্য ব্যবহার করা হবে।

সিনট্যাক্স

file object = open(file_name [, access_mode][, buffering])

এখানে প্যারামিটারের বিশদ বিবরণ রয়েছে −

  • file_name − ফাইল_নাম আর্গুমেন্ট হল একটি স্ট্রিং মান যাতে আপনি যে ফাইলটি অ্যাক্সেস করতে চান তার নাম থাকে৷
  • অ্যাক্সেস_মোড − অ্যাক্সেস_মোড নির্ধারণ করে যে মোডটিতে ফাইলটি খুলতে হবে, যেমন, পড়া, লিখতে, যুক্ত করা ইত্যাদি। সম্ভাব্য মানের একটি সম্পূর্ণ তালিকা নীচে টেবিলে দেওয়া হয়েছে। এটি ঐচ্ছিক প্যারামিটার এবং ডিফল্ট ফাইল অ্যাক্সেস মোড রিড (r) হয়।
  • বাফারিং৷ − যদি বাফারিং মান 0 তে সেট করা হয়, কোন বাফারিং সঞ্চালিত হয় না। বাফারিং মান 1 হলে, একটি ফাইল অ্যাক্সেস করার সময় লাইন বাফারিং সঞ্চালিত হয়। আপনি যদি বাফারিং মানটিকে 1-এর বেশি পূর্ণসংখ্যা হিসাবে নির্দিষ্ট করেন, তাহলে বাফারিং অ্যাকশন নির্দেশিত বাফার আকারের সাথে সঞ্চালিত হয়। নেতিবাচক হলে, বাফারের আকার হল সিস্টেম ডিফল্ট (ডিফল্ট আচরণ)।

এখানে একটি ফাইল খোলার বিভিন্ন মোডের একটি তালিকা রয়েছে -

Sr.No মোড এবং বর্ণনা
1 r
শুধুমাত্র পড়ার জন্য একটি ফাইল খোলে। ফাইল পয়েন্টার ফাইলের শুরুতে স্থাপন করা হয়। এটি ডিফল্ট মোড।
2 rb
শুধুমাত্র বাইনারি বিন্যাসে পড়ার জন্য একটি ফাইল খোলে। ফাইল পয়েন্টার ফাইলের শুরুতে স্থাপন করা হয়। এটি ডিফল্ট মোড।
3 r+
পড়া এবং লেখা উভয়ের জন্য একটি ফাইল খোলে। ফাইলের শুরুতে স্থাপন করা ফাইল পয়েন্টার।
4 rb+
বাইনারি বিন্যাসে পড়া এবং লেখা উভয়ের জন্য একটি ফাইল খোলে। ফাইলের শুরুতে স্থাপন করা ফাইল পয়েন্টার।
5 w
শুধুমাত্র লেখার জন্য একটি ফাইল খোলে। ফাইলটি বিদ্যমান থাকলে ফাইলটি ওভাররাইট করে। ফাইলটি বিদ্যমান না থাকলে, লেখার জন্য একটি নতুন ফাইল তৈরি করে।
6 wb
শুধুমাত্র বাইনারি বিন্যাসে লেখার জন্য একটি ফাইল খোলে। ফাইলটি বিদ্যমান থাকলে ফাইলটি ওভাররাইট করে। ফাইলটি বিদ্যমান না থাকলে, লেখার জন্য একটি নতুন ফাইল তৈরি করে।
7 w+
লেখা এবং পড়া উভয়ের জন্য একটি ফাইল খোলে। ফাইলটি বিদ্যমান থাকলে বিদ্যমান ফাইলটিকে ওভাররাইট করে। ফাইলটি বিদ্যমান না থাকলে, পড়া এবং লেখার জন্য একটি নতুন ফাইল তৈরি করে।
8 wb+
বাইনারি বিন্যাসে লেখা এবং পড়া উভয়ের জন্য একটি ফাইল খোলে। ফাইলটি বিদ্যমান থাকলে বিদ্যমান ফাইলটিকে ওভাররাইট করে। ফাইলটি বিদ্যমান না থাকলে, পড়া এবং লেখার জন্য একটি নতুন ফাইল তৈরি করে।
9 a
যুক্ত করার জন্য একটি ফাইল খোলে। ফাইলটি বিদ্যমান থাকলে ফাইল পয়েন্টারটি ফাইলের শেষে থাকে। অর্থাৎ ফাইলটি অ্যাপেন্ড মোডে আছে। যদি ফাইলটি বিদ্যমান না থাকে তবে এটি লেখার জন্য একটি নতুন ফাইল তৈরি করে।
10 ab
বাইনারি বিন্যাসে যুক্ত করার জন্য একটি ফাইল খোলে। ফাইলটি বিদ্যমান থাকলে ফাইল পয়েন্টারটি ফাইলের শেষে থাকে। অর্থাৎ ফাইলটি অ্যাপেন্ড মোডে আছে। যদি ফাইলটি বিদ্যমান না থাকে তবে এটি লেখার জন্য একটি নতুন ফাইল তৈরি করে।
11 a+
যুক্ত এবং পড়ার উভয়ের জন্য একটি ফাইল খোলে। ফাইলটি বিদ্যমান থাকলে ফাইল পয়েন্টারটি ফাইলের শেষে থাকে। ফাইলটি অ্যাপেন্ড মোডে খোলে। ফাইলটি বিদ্যমান না থাকলে, এটি পড়ার এবং লেখার জন্য একটি নতুন ফাইল তৈরি করে।
12 ab+
বাইনারি বিন্যাসে যুক্ত এবং পড়ার উভয়ের জন্য একটি ফাইল খোলে। ফাইলটি বিদ্যমান থাকলে ফাইল পয়েন্টারটি ফাইলের শেষে থাকে। ফাইলটি অ্যাপেন্ড মোডে খোলে। ফাইলটি বিদ্যমান না থাকলে, এটি পড়ার এবং লেখার জন্য একটি নতুন ফাইল তৈরি করে।

ফাইল অবজেক্ট অ্যাট্রিবিউটস

একবার একটি ফাইল ওপেন হয়ে গেলে এবং আপনার কাছে একটি ফাইল অবজেক্ট থাকলে, আপনি সেই ফাইলের সাথে সম্পর্কিত বিভিন্ন তথ্য পেতে পারেন।

এখানে ফাইল অবজেক্ট-

সম্পর্কিত সমস্ত বৈশিষ্ট্যের একটি তালিকা রয়েছে
Sr.No মোড এবং বর্ণনা
1 file.closed
ফাইল বন্ধ থাকলে সত্য ফেরত দেয়, অন্যথায় মিথ্যা।
2 file.mode
যে ফাইলটি খোলা হয়েছিল সেটি দিয়ে অ্যাক্সেস মোড ফেরত দেয়।
3 file.name
ফাইলের নাম ফেরত দেয়।
4 file.softspace
প্রিন্টের সাথে স্পষ্টভাবে স্থানের প্রয়োজন হলে মিথ্যা প্রদান করে, অন্যথায় সত্য।

উদাহরণ

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
print "Closed or not : ", fo.closed
print "Opening mode : ", fo.mode
print "Softspace flag : ", fo.softspace

আউটপুট

এটি নিম্নলিখিত ফলাফল তৈরি করে -

Name of the file: foo.txt
Closed or not : False
Opening mode : wb
Softspace flag : 0

ক্লোজ() পদ্ধতি

একটি ফাইল অবজেক্টের ক্লোজ() পদ্ধতি যেকোন অলিখিত তথ্য ফ্লাশ করে এবং ফাইল অবজেক্ট বন্ধ করে দেয়, এর পরে আর লেখার কাজ করা যায় না।

পাইথন স্বয়ংক্রিয়ভাবে একটি ফাইল বন্ধ করে দেয় যখন একটি ফাইলের রেফারেন্স অবজেক্ট অন্য ফাইলে পুনরায় নিয়োগ করা হয়। একটি ফাইল বন্ধ করার জন্য close() পদ্ধতি ব্যবহার করা একটি ভাল অভ্যাস।

সিনট্যাক্স

fileObject.close()

উদাহরণ

#!/usr/bin/python
# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
# Close opend file
fo.close()

আউটপুট

এটি নিম্নলিখিত ফলাফল তৈরি করে -

Name of the file: foo.txt

  1. C# এ ফাইল কম্প্রেস এবং ডিকম্প্রেস করা

  2. C# এ পাঠ্য ফাইলগুলি পড়া এবং লেখা

  3. পাইথনে openpyxl মডিউল ব্যবহার করে এক্সেল ফাইল পড়া এবং লেখা

  4. পাইথনে জিপ ফাইলের সাথে কাজ করা