Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 모호한 들여쓰기 감지


들여쓰기는 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()에서 캡처 및 처리됩니다.