বাংলায় পাইথন
  • পরিচিতি
  • ইনস্টলেশন
  • ব্যাসিক কনসেপ্ট
    • সাধারণ কিছু অপারেশন
    • আরও কিছু নিউমেরিক অপারেশন
    • স্ট্রিং
    • ব্যাসিক ইনপুট আউটপুট
    • স্ট্রিং অপারেশন
    • টাইপ কনভার্সন
    • ভ্যারিয়েবল
    • ইনপ্লেস অপারেটর
    • এডিটর এর ব্যবহার
  • কন্ট্রোল স্ট্রাকচার
    • বুলিয়ান
    • if স্টেটমেন্ট
    • else স্টেটমেন্ট
    • বুলিয়ান লজিক
    • অপারেটর প্রেসিডেন্স
    • while লুপ
    • লিস্ট
    • লিস্ট অপারেশন
    • লিস্ট ফাংশন
    • রেঞ্জ
    • for লুপ
  • গুরুত্বপূর্ণ ডাটা টাইপ
    • None
    • ডিকশনারি
    • ডিকশনারি ফাংশন
    • টাপল
    • আবারও লিস্ট
    • লিস্ট ও ডিকশনারি কম্প্রিহেনশন
  • ফাংশন ও মডিউল
    • কোডের পুনব্যবহার
    • ফাংশন
    • ফাংশন আর্গুমেন্ট
    • ফাংশন রিটার্ন
    • কমেন্ট ও ডক স্ট্রিং
    • অবজেক্ট হিসেবে ফাংশন
    • মডিউল
    • স্ট্যান্ডার্ড লাইব্রেরী
    • pip
  • ফাইল ও এক্সেপশন
    • এক্সেপশন
    • এক্সেপশন হ্যান্ডেলিং
    • finally
    • এক্সেপশন Raise
    • Assertions
    • ফাইল খোলা
    • ফাইল পড়া
    • ফাইলে লেখা
    • ফাইল নিয়ে সঠিক কাজ
  • ফাংশনাল প্রোগ্রামিং
    • ভূমিকা
    • ল্যামডা
    • ম্যাপ ও ফিল্টার
    • জেনারেটর
    • ডেকোরেটর
    • রিকারসন
    • সেট
    • itertools
  • অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
    • ক্লাস
    • ইনহেরিটেন্স
    • ম্যাজিক মেথড
    • অপারেটর অভারলোডিং
    • অবজেক্ট লাইফ সাইকেল
    • ডাটা হাইডিং
    • স্ক্লাস মেথড ও ট্যাটিক মেথড
    • প্রোপার্টিস
  • রেগুলার এক্সপ্রেশন
    • পরিচিতি
    • মেটা ক্যারেক্টার
    • ক্যারেক্টার ক্লাস
    • গ্রুপ
    • স্পেশাল সিকুয়েন্স
  • অতিরিক্ত কিছু বিষয়
    • পাইথনিকনেস
    • PEP
    • main
    • # -- coding: utf-8 --
    • #! /usr/bin/env python
    • CPython
    • ডকুমেন্টেশন পড়া
  • প্যাকেজিং
Powered by GitBook
On this page
  1. ফাইল ও এক্সেপশন

ফাইল নিয়ে সঠিক কাজ

Previousফাইলে লেখাNextফাংশনাল প্রোগ্রামিং

Last updated 6 years ago

ইতোমধ্যে বেশ কয়েকবার বলা হয়েছে যে, ফাইল নিয়ে কাজ শেষে সেটিকে ক্লোজ করা খুব দরকারি। তো, এই দরকারি কাজটা যাতে বার বার ভুল হয়ে না যায় এর জন্য কিছু টেকনিক অবলম্বন করা যেতে পারে বা অভ্যাসে পরিণত করা যেতে পারে। যেমন, নিচের প্রোগ্রামটি দেখি -

try:
    file_to_work = open("Test.txt", "r")
    content = file_to_work.read()
    print(content)
finally:
    file_to_work.close()

মনে আছে, আমরা কয়েক চ্যাপ্টার আগেই finally ব্লক নিয়ে আলোচনা করেছি? try, except এর সাথে finally ব্লকের ব্যবহার আমরা দেখেছি এবং জানি যে এই ব্লকের মধ্যে যাই থাকুক না কেন, সেই কোড গুলো রান করবেই এমনকি যদি এর উপরের try, except ব্লকে অনাকাঙ্ক্ষিত কিছু ঘটেও। এটাই একটা টেকনিক, ফাইল ক্লোজ করতে ভুল না করার। উপরের প্রোগ্রামে আমরা ট্রাই ব্লকের মধ্যে ফাইল ওপেন এবং পড়ার কাজ করেছি এবং ফাইনালি ব্লকের মধ্যে ক্লোজ করেছি। এতে করে, ঘটনা যাই হোক, ফাইল ক্লোজ হবেই।

আরও একটি বেস্ট প্র্যাকটিস আছে। with স্টেটমেন্টের ব্যবহার। প্রথমে একটি উদাহরণ দেখি তারপর বিশ্লেষণ করা যাবে -

with open("Test.txt") as f:
    print(f.read())

আউটপুট,

I am writing!!!

with স্টেটমেন্ট আসলে একটি টেম্পোরারি ভ্যারিয়েবল তৈরি করে। উপরের প্রোগ্রামে এটি ব্যবহার করে open("Test.txt") স্টেটমেন্টটির জন্য একটি টেম্পোরারি ভ্যারিয়েবল তৈরি করা হয়েছে f নামে। অর্থাৎ বস্তুত এমন হয়েছে f = open("Test.txt"). এই f কে with এর আওতাভুক্ত কোডে অর্থাৎ এর স্কোপে ব্যবহার করা যায়। আবার, with ব্যবহারের আরেকটি মজার ব্যাপার হচ্ছে এর আওতাভুক্ত কোড ব্লকের কাজ শেষ হয়ে গেলেই এর দ্বারা তৈরি টেম্পোরারি ভ্যারিয়েবলও ডেস্ট্রয় হয়ে যায়। এতে করে আমাদের উদ্দেশ্য হাসিল হয় তথা ফাইল ক্লোজের কাজটি হয়ে যায়। এখন পর্যন্ত এটাকেই ফাইল নিয়ে ছোট খাটো কাজ করার বেস্ট প্র্যাকটিস হিসেবে ধরা হয়।

সংকলন -

নুহিল মেহেদী