पायथन सिंटैक्स की एक महत्वपूर्ण विशेषता इंडेंटेशन है। फ़ंक्शन, क्लास या लूप में कोड ब्लॉक को स्टेटमेंट के लिए समान इंडेंट स्तर का पालन करना आवश्यक है। पायथन के मानक पुस्तकालय में टैबनैनी मॉड्यूल इस शर्त में किसी भी उल्लंघन का पता लगाने में सक्षम है।
यह मॉड्यूल मुख्य रूप से -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() −
इस फ़ंक्शन का उपयोग टोकन मॉड्यूल द्वारा उत्पन्न टोकन को संसाधित करने के लिए चेक () द्वारा किया जाता है। यदि अस्पष्ट इंडेंट का पता चलता है तो यह फ़ंक्शन नानीनाग अपवाद उठाता है। इसे कैप्चर किया जाता है और चेक () में संभाला जाता है।