Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Phát hiện thụt lề ambiguous trong Python với tabnanny

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 IndentationError khó tìm