কম্পিউটার

পাইথনে ক্লিন আপ অ্যাকশন সংজ্ঞায়িত করা


অনেক পরিস্থিতি দেখা দেয় যখন আমরা আমাদের প্রোগ্রামটিকে এই নির্দিষ্ট কাজটি করতে চাই, তা নির্বিশেষে এটি নিখুঁতভাবে চলছে বা কিছু ত্রুটি রয়েছে। বেশিরভাগ ত্রুটি বা ব্যতিক্রম ধরার জন্য, আমরা চেষ্টা করি এবং ব্লক ছাড়া।

"চেষ্টা" বিবৃতিটি খুব দরকারী ঐচ্ছিক ধারা প্রদান করে যা 'ক্লিন-আপ অ্যাকশন' সংজ্ঞায়িত করার জন্য বোঝানো হয় যা যেকোন পরিস্থিতিতে কার্যকর করা আবশ্যক। যেমন −

>>> try:
   raise SyntaxError
finally:
   print("Learning Python!")
Learning Python!
Traceback (most recent call last):
   File "<pyshell#11>", line 2, in <module>
      raise SyntaxError
   File "<string>", line None
SyntaxError: <no detail available>

চূড়ান্ত ধারাটি নির্বাহ করা হবে যাই হোক না কেন, যাইহোক, অন্য ধারাটি শুধুমাত্র তখনই কার্যকর হয় যদি একটি ব্যতিক্রম উত্থাপন না করা হয়।

উদাহরণ1৷ − নীচের উদাহরণটি বিবেচনা করুন, যেখানে সবকিছু ঠিক আছে এবং কোন ব্যতিক্রম ছাড়াই একটি ফাইলে লেখা (প্রোগ্রামটি কাজ করছে), নিম্নলিখিতগুলি আউটপুট করবে -

file = open('finally.txt', 'w')
try:
   file.write("Testing1 2 3.")
   print("Writing to file.")
except IOError:
   print("Could not write to file.")
else:
   print("Write successful.")
finally:
   file.close()
   print("File closed.")

উপরের প্রোগ্রামটি চালানো হলে, −

পাবেন
Writing to file.
Write successful.
File closed.

উদাহরণ 2৷ − চলুন একটি ফাইলকে শুধুমাত্র পঠনযোগ্য করে একটি ব্যতিক্রম উত্থাপন করার চেষ্টা করি এবং এটিতে লেখার চেষ্টা করি, যার ফলে এটি একটি ব্যতিক্রম তৈরি করে৷

file = open('finally.txt', 'r')
try:
   file.write("Testing1 2 3.")
   print("Writing to file.")
except IOError:
   print("Could not write to file.")
else:
   print("Write successful.")
finally:
   file.close()
   print("File closed.")

উপরের প্রোগ্রামটি একটি আউটপুট দেবে, যেমন −

Could not write to file.
File closed.

যদি আমাদের একটি ত্রুটি থাকে, তবে আমরা এটি পরিচালনা করার জন্য ধারা ব্যতীত আর কোনো রাখিনি। এই ধরনের ক্ষেত্রে, ক্লিন-আপ অ্যাকশন (অবশেষে ব্লক) প্রথমে কার্যকর করা হবে এবং তারপর কম্পাইলার দ্বারা ত্রুটিটি উত্থাপিত হবে। নিচের উদাহরণ দিয়ে ধারণাটি বোঝা যাক −

উদাহরণ

file = open('finally.txt', 'r')
try:
   file.write(4)
   print("Writing to file.")
except IOError:
   print("Could not write to file.")
else:
   print("Write successful.")
finally:
   file.close()
   print("File closed.")

আউটপুট

File closed.
Traceback (most recent call last):
   File "C:/Python/Python361/finally_try_except1.py", line 4, in <module>
      file.write(4)
TypeError: write() argument must be str, not int
নয়

সুতরাং উপরে থেকে, আমরা দেখতে পাচ্ছি যে, পরিশেষে, ধারা সর্বদা কার্যকর হয়, ব্যতিক্রম ঘটুক বা না ঘটুক।


  1. পাইথনে xlsxwriter মডিউল ব্যবহার করে এক্সেল ফাইল তৈরি করুন এবং লিখুন

  2. পাইথনে ফাইল অবজেক্ট?

  3. পাইথনে জাঙ্ক ফাইল সংগঠক?

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