Thụt lề (indentation) là tính năng quan trọng của cú pháp Python. Module tabnanny trong thư viện chuẩn giúp phát hiện vi phạm quy tắc thụt lề.
Sử dụng dòng lệnh
# Kiểm tra file, chỉ hiện lỗi (-q quiet) python -m tabnanny -q example.py # Kiểm tra chi tiết (-v verbose) python -m tabnanny -v example.py
Sử dụng trong code
import tabnanny
tabnanny.check('example.py')
Các cờ (flags) quan trọng
tabnanny.verbose: In thông báo chi tiết (tăng bởi-v)tabnanny.filename_only: Chỉ in tên file có lỗi (bật bởi-q)
Hàm process_tokens()
Hàm nội bộ được check() sử dụng để xử lý token từ module tokenize. Ném ra exception NannyNag khi phát hiện thụt lề ambiguous, được bắt và xử lý trong check().
Khi nào nên dùng?
- Kiểm tra code trước khi commit
- Tích hợp vào CI/CD pipeline
- Debug lỗi
IndentationErrorkhó tìm