все Python 3до 3.13Удалено из стандартной библиотекипонятие
uu
удалённые модули
Кодирование двоичных данных в текст форматом uuencode. Удалён в Python 3.13 — используйте base64.
Синтаксис
import uu # до 3.13
uu.encode(вход, выход) превращал двоичный файл в текст со строками 'begin 644 имя' … 'end', uu.decode() возвращал его обратно — так пересылали вложения по почте и Usenet до MIME. Убран по PEP 594: uuencode давно вытеснен Base64. Как переписать: для новых данных берите base64.b64encode() и base64.b64decode(). Если нужно прочитать или выдать именно формат uu, codecs.encode(данные, 'uu') и codecs.decode(текст, 'uu') делают это без модуля, а binascii.b2a_uu() и a2b_uu() кодируют по одной строке. Пакет standard-uu на PyPI возвращает модуль.
Примеры
# Python 3.13+
try:
import uu
except ModuleNotFoundError as e:
print(type(e).__name__) # → ModuleNotFoundError
# Python 3.13+
import base64, codecs
print(base64.b64encode(b'Hi!')) # → b'SGkh'
packed = codecs.encode(b'Hi!', 'uu')
print(codecs.decode(packed, 'uu')) # → b'Hi!'
import io, uu
out = io.BytesIO()
uu.encode(io.BytesIO(b'Hi!'), out, name='hi.txt')
print(out.getvalue().splitlines()[0]) # → b'begin 666 hi.txt'
back = io.BytesIO()
uu.decode(io.BytesIO(out.getvalue()), back)
print(back.getvalue()) # → b'Hi!'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности