tabnanny — 모호한 들여쓰기 감지
tabnanny — 모호한 들여쓰기 감지
tabnanny 모듈은 Python 소스 코드에서 공백 관련 문제를 감지하는 데 사용됩니다. 당분간 이 모듈은 스크립트로 호출되는 것을 목적으로 합니다. 그러나 IDE로 가져와서 아래 설명된 check() 함수를 사용할 수도 있습니다.
본문
note:
이 모듈이 제공하는 API는 향후 릴리스에서 변경될 가능성이 높으며, 그러한 변경은 하위 호환되지 않을 수 있습니다.
탭과 공백이 섞인 들여쓰기는 Python에서 흔히 TabError를 유발하지만, 때로는 모호한 들여쓰기로 인해 프로그램이 잘못된 의미로 해석되기도 합니다. tabnanny는 이러한 모호한 들여쓰기를 탐지하여 개발자가 실수를 미리 발견하도록 돕습니다.
python -m tabnanny example.py
tabnanny.check(file_or_dir)
file_or_dir이 디렉터리이고 심볼릭 링크가 아니라면, file_or_dir이 가리키는 디렉터리 트리를 재귀적으로 내려가면서 그 과정에서 모든 .py 파일을 검사합니다. file_or_dir이 일반적인 Python 소스 파일이라면 공백 관련 문제가 있는지 검사합니다. 진단 메시지는 print() 함수를 사용하여 표준 출력으로 작성됩니다.
tabnanny.verbose
상세 메시지를 출력할지 여부를 나타내는 플래그입니다. 스크립트로 호출될 때 -v 옵션에 의해 증가됩니다.
tabnanny.filename_only
공백 관련 문제가 있는 파일의 파일 이름만 출력할지 여부를 나타내는 플래그입니다. 스크립트로 호출될 때 -q 옵션에 의해 True로 설정됩니다.
tabnanny.NannyNag
process_tokens()가 모호한 들여쓰기를 감지하면 발생시킵니다. check()에서 포착되어 처리됩니다.
tabnanny.process_tokens(tokens)
이 함수는 tokenize 모듈이 생성한 토큰을 처리하기 위해 check()에서 사용됩니다.
See also
Module tokenize — Python 소스 코드의 어휘 스캐너.