ইন্ডেন্টেশন পাইথন সিনট্যাক্সের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য। ফাংশন, ক্লাস বা লুপের কোড ব্লকগুলিকে বিবৃতিগুলির জন্য একই ইন্ডেন্ট স্তর অনুসরণ করতে হবে। পাইথনের স্ট্যান্ডার্ড লাইব্রেরির ট্যাবনানি মডিউল এই শর্তে যে কোনও লঙ্ঘন সনাক্ত করতে সক্ষম৷
এই মডিউলটি মূলত –m সুইচ সহ কমান্ড লাইন মোডে ব্যবহার করার উদ্দেশ্যে। যাইহোক, এটি একটি দোভাষী সেশনেও আমদানি করা যেতে পারে।
কমান্ড লাইন ব্যবহার
python –m tabnanny –q example.py
ভার্বোস আউটপুটের জন্য –v সুইচ ব্যবহার করুন
python –m tabnanny –v example.py
প্রোগ্রাম্যাটিকভাবে ইন্ডেন্টেশন চেক করার জন্য ট্যাবনানি মডিউলে নিম্নলিখিত ফাংশনগুলি সংজ্ঞায়িত করা হয়েছে৷
চেক()
এই ফাংশনটি একটি প্রদত্ত ফাইলে অস্পষ্টভাবে ইন্ডেন্ট করা লাইনের জন্য পরীক্ষা করে। আপনি প্যারামিটার হিসাবে একটি ডিরেক্টরি পাস করতে পারেন। এটিতে থাকা সমস্ত ফাইল বারবার চেক করা হবে৷
৷উদাহরণ
import tabnanny tabnanny.check('example.py')
tabnanny.verbose − এই পতাকাটি নির্দেশ করে যে ভার্বোস মেসেজ প্রিন্ট করতে হবে কিনা। এটিকে -v বিকল্প দ্বারা বৃদ্ধি করা হয় যদি একটি স্ক্রিপ্ট হিসাবে বলা হয়।
tabnanny.filename_only৷ − এই ফ্ল্যাগটি নির্দেশ করে যে হোয়াইটস্পেস সম্পর্কিত সমস্যা রয়েছে এমন ফাইলগুলির ফাইলের নামগুলিই প্রিন্ট করতে হবে কিনা। এটিকে -q বিকল্প দ্বারা সত্য হিসাবে সেট করা হয় যদি একটি স্ক্রিপ্ট হিসাবে বলা হয়।
process_tokens() −
এই ফাংশনটি চেক() দ্বারা টোকেনাইজ মডিউল দ্বারা উত্পন্ন টোকেন প্রক্রিয়া করতে ব্যবহৃত হয়। একটি অস্পষ্ট ইন্ডেন্ট সনাক্ত করা হলে এই ফাংশন NannyNag ব্যতিক্রম উত্থাপন করে। এটি ক্যাপচার করা হয় এবং চেক().
এ পরিচালনা করা হয়