এই অংশে আপনি - ফাইল ও এক্সসেপশন হ্যান্ডেলিং শিখবেন। এদুটোই পাইথনের খুব গুরুত্বপূর্ণ কন্সেপ্ট। আমরা শিখবো, কিভাবে পাইথনে ফাইল নিয়ে কাজ করতে হয় এবং ফাইলের মধ্যে কিভাবে বিভিন্ন অপারেশন সম্পূর্ণ করা যায়। এছাড়াও আমরা এরর(errors) ও এক্সসেপশন(exceptions) এর কন্সেপ্ট গুলো বুঝবো এবং শিখবো যে কীভাবে তাদের সাথে কাজ করা যায়, কীভাবে সেগুলো হ্যান্ডেল করা যায়।
রাইসা বেশ কিছুদিন হলো পাইথন প্রোগ্রামিং শেখা শুরু করেছে। সে শিখেছে যে “ডেটা হচ্ছে প্রোগ্রামিংয়ের একটি গুরুত্বপূর্ণ কন্সেপ্ট”। কথাটি কিন্তু সত্য। একদিন সে একটি প্রোজেক্ট করছিল - জাস্ট পাইথন দিয়ে একটা কমান্ড-লাইন-বেসড অ্যাপ্লিকেশান। প্রোজেক্টের প্রয়োজনে তাকে বেশ কিছু ডেটা সংরক্ষণ করতে হতো, যেন সেই ডেটা গুলোকে সে পরে ম্যানিপুলেট করতে পারে। একজন বিগিনার হিসেবে সে পাইথনের বিভিন্ন ডেটা টাইপ যেমনঃ Numeric type, string, lists/array, tuples, set এবং dictionary এগুলো শিখেছিল। আর এই প্রোজেক্টে ডেটা সেভ করার জন্য সে এই ডেটা টাইপ গুলোকে ব্যবহার করে। প্রোজেক্টের সব কিছুও ভালো চলছিল, তবে ততক্ষন, যতক্ষণ না সে প্রোজেক্টটিকে পুনরায় এক্সিকিউট করলো।
রাইসা যত ডেটা নিয়ে কাজ করেছিল ও সে যে রেজাল্টগুলো রিটার্ন পেয়েছিল; সব কিছুই হারিয়ে গিয়েছে বা মুছে গিয়েছে। তবে সে চেয়ে ছিল ডেটা গুলোকে পার্মানেন্টলি স্টোর করতে। কিন্তু সে যেহেতু, ডেটা গুলো স্টোর করতে শুধুমাত্র ডেটা টাইপ ব্যবহার করেছিল, তাই সব ডেটা মুছে যায়। এই কারণে আমরা যখন কোনো প্রোগ্রামের লাইফ টাইমের (Lifetime) মধ্যে কোনো ডেটা সেভ করি, তখন প্রোগ্রাম শেষ হওয়ার সাথে সাথে আমাদের ডেটা গুলো হারিয়ে যায়। মুছে যাওয়ার কারণ হলো এই ডেটা টাইপ গুলো র্যামে (Random Access Memory) স্টোর হয়, আর র্যাম হলো একটি Volatile Memory (অর্থাৎ র্যামে স্থায়ীভাবে কোনো কিছুই সেভ হয় না।)
তো রাইসার মতো আমাদেরকেও, এমন অবস্থায় পরতে হতে পারে; যেখানে আমাদের লোকাল সিস্টেম বা কম্পিউটারেই ডেটা সংরক্ষণ করতে হবে এবং যাতে আমরা সেই ডেটা গুলো যখন খুশি তখন ফিরিয়ে আনতে পারি সে ব্যবস্থাও করতে হবে। হ্যাঁ! রাইসা পার্মানেন্টলি ডেটা সেভ করতে একটি ডেটাবেস ব্যবহার করতে পারতো, তবে এমন পরিস্থিতিও সৃষ্টি হতে পারে যখন আমরা সেটা করতে চাইবো না।
সুতরাং মাঝে মাঝে আমাদেরকে লোকাল সিস্টেমেই ডেটা সংরক্ষণ করতে হবে, যাতে যেকোনো সময় ডেটাগুলোকে অ্যাক্সেস করা যায়। এই ধরনের পরিস্থিতিতে আমরা ফাইল ব্যবহার করবো, যেটা র্যামে সেভ না হয়ে রোম(Read Only Memory)এ সেভ হবে, রোম(ROM) কিন্তু স্থায়ী মেমরি। তাই ডেটা হারিয়ে যাওয়ার ভয় থাকবে না।
ফাইল হলো কম্পিউটারে সংরক্ষিত তথ্যের একটি সংগ্রহ যা একটি নির্দিষ্ট নাম দিয়ে চিহ্নিত করা হয়। এটি বিভিন্ন ধরনের ডেটা থাকতে পারে যেমন:
ফাইলের প্রকারভেদ:
ফাইলের বৈশিষ্ট্য: