Python 中歧義縮排的檢測
縮排是 Python 語法的一個重要特性。函式、類或迴圈中的程式碼塊需要遵循相同的縮排級別。Python 標準庫中的 tabnanny 模組能夠檢測此規定中的任何違規行為。
此模組主要用於命令列模式,並使用 –m 開關。但是,它也可以在直譯器會話中匯入。
命令列用法
python –m tabnanny –q example.py
對於詳細輸出,請使用 –v 開關
python –m tabnanny –v example.py
以下函式在 tabnanny 模組中定義,用於以程式設計方式檢查縮排。
check()
此函式檢查給定檔案中縮排不明確的行。您還可以傳遞目錄作為引數。它將遞迴檢查其中的所有檔案。
示例
import tabnanny tabnanny.check('example.py')
tabnanny.verbose − 此標誌指示是否列印詳細訊息。如果作為指令碼呼叫,則 -v 選項會遞增它。
tabnanny.filename_only − 此標誌指示是否僅列印包含與空白相關的問題的檔案的名稱。如果作為指令碼呼叫,則 -q 選項將其設定為 true。
process_tokens() −
此函式由 check() 用於處理 tokenize 模組生成的標記。如果檢測到縮排不明確,此函式會引發 NannyNag 異常。它在 check() 中捕獲並處理。
廣告