blob: 53d269b967dca215dace83c87abb9d408c778ec4 [file] [log] [blame]
Georg Brandl116aa622007-08-15 14:28:22 +00001:mod:`uu` --- Encode and decode uuencode files
2==============================================
3
4.. module:: uu
5 :synopsis: Encode and decode files in uuencode format.
6.. moduleauthor:: Lance Ellinghouse
7
8
9This module encodes and decodes files in uuencode format, allowing arbitrary
10binary data to be transferred over ASCII-only connections. Wherever a file
11argument is expected, the methods accept a file-like object. For backwards
12compatibility, a string containing a pathname is also accepted, and the
13corresponding file will be opened for reading and writing; the pathname ``'-'``
14is understood to mean the standard input or output. However, this interface is
15deprecated; it's better for the caller to open the file itself, and be sure
16that, when required, the mode is ``'rb'`` or ``'wb'`` on Windows.
17
18.. index::
19 single: Jansen, Jack
20 single: Ellinghouse, Lance
21
22This code was contributed by Lance Ellinghouse, and modified by Jack Jansen.
23
Éric Araujo6e6cb8e2010-11-16 19:13:50 +000024.. seealso::
25
26 Latest version of the :source:`uu module Python source code <Lib/uu.py>`
27
Georg Brandl116aa622007-08-15 14:28:22 +000028The :mod:`uu` module defines the following functions:
29
30
Georg Brandl7f01a132009-09-16 15:58:14 +000031.. function:: encode(in_file, out_file, name=None, mode=None)
Georg Brandl116aa622007-08-15 14:28:22 +000032
Georg Brandlf4a41232008-05-26 17:55:52 +000033 Uuencode file *in_file* into file *out_file*. The uuencoded file will have
34 the header specifying *name* and *mode* as the defaults for the results of
35 decoding the file. The default defaults are taken from *in_file*, or ``'-'``
36 and ``0o666`` respectively.
Georg Brandl116aa622007-08-15 14:28:22 +000037
38
Georg Brandl7f01a132009-09-16 15:58:14 +000039.. function:: decode(in_file, out_file=None, mode=None, quiet=False)
Georg Brandl116aa622007-08-15 14:28:22 +000040
41 This call decodes uuencoded file *in_file* placing the result on file
42 *out_file*. If *out_file* is a pathname, *mode* is used to set the permission
43 bits if the file must be created. Defaults for *out_file* and *mode* are taken
44 from the uuencode header. However, if the file specified in the header already
45 exists, a :exc:`uu.Error` is raised.
46
47 :func:`decode` may print a warning to standard error if the input was produced
48 by an incorrect uuencoder and Python could recover from that error. Setting
49 *quiet* to a true value silences this warning.
50
51
52.. exception:: Error()
53
54 Subclass of :exc:`Exception`, this can be raised by :func:`uu.decode` under
55 various situations, such as described above, but also including a badly
56 formatted header, or truncated input file.
57
58
59.. seealso::
60
61 Module :mod:`binascii`
62 Support module containing ASCII-to-binary and binary-to-ASCII conversions.
63