অন্য ভাষাগুলোর মতো পাইথনও ফাইল পড়া, লেখা বা অ্যাক্সেস করার জন্য কিছু বিল্ট-ইন ফাংশন প্রদান করে। পাইথন মূলত দুটি টাইপের ফাইল হ্যান্ডেল করতে পারে। নরমাল টেক্সট ফাইল এবং বাইনারি ফাইল।
টেক্সট ফাইলগুলোতে প্রতিটি লাইন একটি স্পেশাল ক্যারেক্টার '\n' দিয়ে টার্মিনেট হয় (इसे EOL বা End Of Line বলা হয়)। বাইনারি ফাইলে কোনো লাইন এন্ডিং ক্যারেক্টার নেই। এটি কন্টেন্টকে বিট স্ট্রিমে রূপান্তর করে ডেটা সংরক্ষণ করে।
এই সেকশনে আমরা টেক্সট ফাইল নিয়ে আলোচনা করব।
ফাইল অ্যাক্সেস মোড
| ক্র.নং | মোড ও বর্ণনা |
|---|---|
| 1 | r রিড অনলি মোড। টেক্সট ফাইল পড়ার জন্য খোলে। ফাইল না থাকলে I/O Error উত্থাপন করে। |
| 2 | r+ রিডিং ও রাইটিং মোড। ফাইল না থাকলে I/O Error উত্থাপন করে। |
| 3 | w রাইট অনলি কাজের জন্য। ফাইল না থাকলে প্রথমে ফাইল তৈরি করে, তারপর লেখা শুরু করে। ফাইল থাকলে সেটার কন্টেন্ট মুছে ফেলে এবং শুরু থেকে লেখা শুরু করে। |
| 4 | w+ রাইট এবং রিড মোড। ফাইল না থাকলে তৈরি করতে পারে, বা ফাইল থাকলে ডেটা ওভাররাইট হয়। |
| 5 | a এটি অ্যাপেন্ড মোড। তাই ফাইলের শেষে ডেটা লিখে। |
| 6 | a+ অ্যাপেন্ড এবং রিড মোড। এটি ডেটা অ্যাপেন্ড করার পাশাপাশি পড়তেও পারে। |
এখন দেখব writelines() এবং write() মেথড ব্যবহার করে ফাইল কীভাবে লেখা যায়।
উদাহরণ কোড
# একটি খালি ফাইল তৈরি করে কিছু লাইন লিখুন
line1 = 'This is first line. \n'
lines = ['This is another line to store into file.\n',
'The Third Line for the file.\n',
'Another line... !@#$%^&*()_+.\n',
'End Line']
# ফাইলটি রাইট মোডে খুলুন
my_file = open('file_read_write.txt', 'w')
my_file.write(line1)
my_file.writelines(lines) # একাধিক লাইন লিখুন
my_file.close()
print('Writing Complete')
আউটপুট
Writing Complete
লাইন লিখার পর, আমরা ফাইলে কিছু লাইন অ্যাপেন্ড করব।
উদাহরণ কোড
# কিছু লাইন অ্যাপেন্ড করার প্রোগ্রাম
line1 = '\n\nThis is a new line. This line will be appended. \n'
# ফাইলটি অ্যাপেন্ড মোডে খুলুন
my_file = open('file_read_write.txt', 'a')
my_file.write(line1)
my_file.close()
print('Appending Done')
আউটপুট
Appending Done
শেষে, read() এবং readline() মেথড ব্যবহার করে ফাইল কন্টেন্ট পড়ার পদ্ধতি দেখব। আমরা কিছু ইন্টিজার 'n' দিয়ে প্রথম 'n' ক্যারেক্টার পেতে পারি।
উদাহরণ কোড
# ফাইল থেকে পড়ার প্রোগ্রাম
# ফাইলটি রিড মোডে খুলুন
my_file = open('file_read_write.txt', 'r')
print('Show the full content:')
print(my_file.read())
# প্রথম দুটি লাইন দেখান
my_file.seek(0)
print('First two lines:')
print(my_file.readline(), end='')
print(my_file.readline(), end='')
# ২৫ ক্যারেক্টার পর্যন্ত দেখান
my_file.seek(0)
print('\n\nFirst 25 characters:')
print(my_file.read(25), end='')
my_file.close()
আউটপুট
Show the full content: This is first line. This is another line to store into file. The Third Line for the file. Another line... !@#$%^&*()_+. End Line This is a new line. This line will be appended. First two lines: This is first line. This is another line to store into file. First 25 characters: This is first line. This