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

---

# [`uu`](https://python-all.ru/3.7/library/uu.html#module-uu) – Кодирование и декодирование файлов uuencode

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

---

Этот модуль кодирует и декодирует файлы в формате uuencode, позволяя передавать произвольные двоичные данные по ASCII-соединениям. Везде, где ожидается файловый аргумент, методы принимают файлоподобный объект. Для обратной совместимости также принимается строка, содержащая путь к файлу, и соответствующий файл будет открыт для чтения и записи; путь `'-'` понимается как обозначение стандартного ввода или вывода. Однако этот интерфейс устарел; лучше, чтобы вызывающий код сам открывал файл и убедился, что при необходимости режим равен `'rb'` или `'wb'` в Windows.

Этот код был предоставлен Лэнсом Эллингхаусом и доработан Джеком Янсеном.

Модуль [`uu`](https://python-all.ru/3.7/library/uu.html#module-uu) определяет следующие функции:

#### `uu.encode(in_file, out_file, name=None, mode=None, *, backtick=False)`

Кодирует файл *in\_file* в формат uuencode и помещает результат в файл *out\_file*. Закодированный uuencode-файл будет содержать заголовок, задающий *name* и *mode* как значения по умолчанию для результатов декодирования файла. Значения по умолчанию берутся из *in\_file* или `'-'` и `0o666` соответственно. Если *backtick* истинно, нули представляются `` '`' `` вместо пробелов.

Изменено в версии 3.7: Добавлен параметр *backtick*.

#### `uu.decode(in_file, out_file=None, mode=None, quiet=False)`

Этот вызов декодирует uuencode-файл *in\_file* и помещает результат в файл *out\_file*. Если *out\_file* является путём, то *mode* используется для установки битов разрешений, если файл должен быть создан. Значения по умолчанию для *out\_file* и *mode* берутся из заголовка uuencode. Однако, если файл, указанный в заголовке, уже существует, возбуждается [`uu.Error`](https://python-all.ru/3.7/library/uu.html#uu.Error).

[`decode()`](https://python-all.ru/3.7/library/uu.html#uu.decode) может выводить предупреждение в стандартный поток ошибок, если входные данные были созданы некорректным uuencoder'ом и Python смог восстановиться после этой ошибки. Установка *quiet* в истинное значение подавляет это предупреждение.

#### `exception uu.Error`

Подкласс [`Exception`](https://python-all.ru/3.7/library/exceptions.html#Exception), может быть возбуждён с помощью [`uu.decode()`](https://python-all.ru/3.7/library/uu.html#uu.decode) в различных ситуациях, таких как описанные выше, а также при неправильно отформатированном заголовке или обрезанном входном файле.

> **См. также**
>
> **Модуль [`binascii`](https://python-all.ru/3.7/library/binascii.html#module-binascii)**
>
> Вспомогательный модуль, содержащий преобразования ASCII-в-двоичный и двоичный-в-ASCII.
