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

---

# `tabnanny` – Обнаружение неоднозначных отступов

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

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

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

Если

*file\_or\_dir*

является каталогом, а не символической ссылкой, то рекурсивно обходит дерево каталогов, заданное

*file\_or\_dir*

, проверяя все

`.py`

файлы по пути. Если

*file\_or\_dir*

– обычный исходный файл Python, он проверяется на наличие проблем, связанных с пробельными символами. Диагностические сообщения выводятся в стандартный вывод с помощью функции

[`print()`](https://python-all.ru/3.0/library/functions.html#print)

.

#### `[tabnanny.verbose]tabnanny.verbose`

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

`-v`

, если модуль запускается как скрипт.

#### `[tabnanny.filename_only]tabnanny.filename_only`

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

`-q`

, если вызывается как скрипт.

#### `[tabnanny.NannyNag]exception tabnanny.NannyNag`

Вызывается

[`tokeneater()`](https://python-all.ru/3.0/library/tabnanny.html#tabnanny.tokeneater)

при обнаружении неоднозначного отступа. Перехватывается и обрабатывается в

[`check()`](https://python-all.ru/3.0/library/tabnanny.html#tabnanny.check)

.

#### `[tabnanny.tokeneater]tabnanny.tokeneater(type, token, start, end, line)`

Эта функция используется

[`check()`](https://python-all.ru/3.0/library/tabnanny.html#tabnanny.check)

в качестве параметра-колбэка для функции

[`tokenize.tokenize()`](https://python-all.ru/3.0/library/tokenize.html#tokenize.tokenize)

.

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