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

---

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

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

---

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

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

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

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

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

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

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

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

#### `exception uu.Error`

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

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