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

---

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

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

---

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

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

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

Если *file\_or\_dir* является каталогом, а не символической ссылкой, то рекурсивно обходит дерево каталогов, указанное в *file\_or\_dir*, проверяя все файлы `.py` на этом пути. Если *file\_or\_dir* – обычный исходный файл Python, он проверяется на наличие проблем с пробельными символами. Диагностические сообщения выводятся в стандартный поток вывода с помощью функции [`print()`](https://python-all.ru/3.11/library/functions.html#print).

#### `tabnanny.verbose`

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

#### `tabnanny.filename_only`

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

#### `exception tabnanny.NannyNag`

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

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

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

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