> **Источник:** https://python-all.ru/2.7/library/tabnanny.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 32.8. [`tabnanny`](https://python-all.ru/2.7/library/tabnanny.html#module-tabnanny) – Обнаружение неоднозначных отступов

**Исходный код:** [Lib/tabnanny.py](https://python-all.ru/src/2.7/Lib/tabnanny.py)

---

На данный момент этот модуль предназначен для вызова в качестве скрипта. Однако его можно импортировать в IDE и использовать функцию [`check()`](https://python-all.ru/2.7/library/tabnanny.html#tabnanny.check), описанную ниже.

> **Примечание**
>
> API, предоставляемый этим модулем, может измениться в будущих выпусках; такие изменения могут быть несовместимы с предыдущими версиями.

#### `tabnanny.check(file_or_dir)`

Если *file\_or\_dir* является каталогом, а не символической ссылкой, то рекурсивно обходит дерево каталогов с именем *file\_or\_dir*, проверяя все `.py` файлы на этом пути. Если *file\_or\_dir* является обычным исходным файлом Python, он проверяется на наличие проблем, связанных с пробелами. Диагностические сообщения выводятся в стандартный вывод с помощью оператора print.

#### `tabnanny.verbose`

Флаг, указывающий, следует ли выводить подробные сообщения. Увеличивается опцией `-v` при вызове в качестве скрипта.

#### `tabnanny.filename_only`

Флаг, указывающий, следует ли выводить только имена файлов, содержащих проблемы с пробельными символами. Устанавливается в true опцией `-q` при вызове в качестве скрипта.

#### `exception tabnanny.NannyNag`

Возбуждается [`process_tokens()`](https://python-all.ru/2.7/library/tabnanny.html#tabnanny.process_tokens) при обнаружении неоднозначного отступа. Перехватывается и обрабатывается в [`check()`](https://python-all.ru/2.7/library/tabnanny.html#tabnanny.check).

#### `tabnanny.process_tokens(tokens)`

Эта функция используется [`check()`](https://python-all.ru/2.7/library/tabnanny.html#tabnanny.check) для обработки токенов, сгенерированных модулем [`tokenize`](https://python-all.ru/2.7/library/tokenize.html#module-tokenize).

> **См. также**
>
> **Модуль [`tokenize`](https://python-all.ru/2.7/library/tokenize.html#module-tokenize)**
>
> Лексический анализатор для исходного кода Python.
