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

---

# `uu` – Кодирование и декодирование файлов uuencode

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

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

Модуль `uu` определяет следующие функции:

#### `[uu.encode]uu.encode(in_file, out_file[, name[, mode]])`

Кодирует файл

*in\_file*

в формат uuencode и записывает результат в файл

*out\_file*

. Закодированный файл будет содержать заголовок с указанием

*name*

и

*mode*

в качестве значений по умолчанию для результатов декодирования. Значения по умолчанию берутся из

*in\_file*

, или из

`'-'`

и

`0o666`

соответственно.

#### `[uu.decode]uu.decode(in_file[, out_file[, mode[, quiet]]])`

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

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

#### `[uu.Error]exception uu.Error`

Подкласс

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

, это исключение может быть возбуждено функциями

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

в различных ситуациях, как описано выше, а также при неправильно отформатированном заголовке или усечённом входном файле.

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