\section{\module{uu} --- Encode and decode uuencode files} \declaremodule{standard}{uu} \modulesynopsis{Encode and decode files in uuencode format.} \moduleauthor{Lance Ellinghouse}{} This module encodes and decodes files in uuencode format, allowing arbitrary binary data to be transferred over ASCII-only connections. Wherever a file argument is expected, the methods accept a file-like object. For backwards compatibility, a string containing a pathname is also accepted, and the corresponding file will be opened for reading and writing; the pathname \code{'-'} is understood to mean the standard input or output. However, this interface is deprecated; it's better for the caller to open the file itself, and be sure that, when required, the mode is \code{'rb'} or \code{'wb'} on Windows. This code was contributed by Lance Ellinghouse, and modified by Jack Jansen. \index{Jansen, Jack} \index{Ellinghouse, Lance} The \module{uu} module defines the following functions: \begin{funcdesc}{encode}{in_file, out_file\optional{, name\optional{, mode}}} Uuencode file \var{in_file} into file \var{out_file}. The uuencoded file will have the header specifying \var{name} and \var{mode} as the defaults for the results of decoding the file. The default defaults are taken from \var{in_file}, or \code{'-'} and \code{0666} respectively. \end{funcdesc} \begin{funcdesc}{decode}{in_file\optional{, out_file\optional{, mode\optional{, quiet}}}} This call decodes uuencoded file \var{in_file} placing the result on file \var{out_file}. If \var{out_file} is a pathname, \var{mode} is used to set the permission bits if the file must be created. Defaults for \var{out_file} and \var{mode} are taken from the uuencode header. However, if the file specified in the header already exists, a \exception{uu.Error} is raised. \function{decode()} may print a warning to standard error if the input was produced by an incorrect uuencoder and Python could recover from that error. Setting \var{quiet} to a true value silences this warning. \end{funcdesc} \begin{excclassdesc}{Error}{} Subclass of \exception{Exception}, this can be raised by \function{uu.decode()} under various situations, such as described above, but also including a badly formatted header, or truncated input file. \end{excclassdesc} \begin{seealso} \seemodule{binascii}{Support module containing \ASCII-to-binary and binary-to-\ASCII{} conversions.} \end{seealso}