들여쓰기는 Python 구문의 중요한 기능입니다. 함수, 클래스 또는 루프의 코드 블록은 해당 명령문에 대해 동일한 들여쓰기 수준을 따라야 합니다. Python 표준 라이브러리의 tabnanny 모듈은 이 규정의 위반 사항을 감지할 수 있습니다.
이 모듈은 주로 -m 스위치가 있는 명령줄 모드에서 사용하기 위한 것입니다. 그러나 통역사 세션에서도 가져올 수 있습니다.
명령줄 사용법
python –m tabnanny –q example.py
자세한 출력의 경우 –v 스위치
사용python –m tabnanny –v example.py
다음 함수는 프로그래밍 방식으로 들여쓰기를 확인하기 위해 tabnanny 모듈에 정의되어 있습니다.
체크()
이 함수는 주어진 파일에서 모호하게 들여쓰기된 줄을 검사합니다. 디렉토리를 매개변수로 전달할 수도 있습니다. 그 안의 모든 파일이 재귀적으로 검사됩니다.
예시
import tabnanny tabnanny.check('example.py')
tabnanny.verbose − 이 플래그는 자세한 메시지를 인쇄할지 여부를 나타냅니다. 스크립트로 호출되는 경우 -v 옵션에 의해 증가합니다.
tabnanny.filename_only − 이 플래그는 공백 관련 문제가 포함된 파일의 파일 이름만 인쇄할지 여부를 나타냅니다. 스크립트로 호출되는 경우 -q 옵션에 의해 true로 설정됩니다.
process_tokens() -
이 함수는 check()에서 tokenize 모듈에 의해 생성된 토큰을 처리하는 데 사용됩니다. 이 함수는 모호한 들여쓰기가 감지되면 NannyNag 예외를 발생시킵니다. check()에서 캡처 및 처리됩니다.