# 18.16. `uu` — Encode et décode les fichiers uuencode

Code source : Lib/uu.py

Ce module encode et décode les fichiers au format uuencode, permettant à des données binaires d’être transférées lors de connexion ASCII. Pour tous les arguments où un fichier est attendu, les fonctions acceptent un « objet fichier-compatible ». Pour des raisons de compatibilité avec les anciennes versions de Python, une chaîne de caractères contenant un chemin est aussi acceptée, et le fichier correspondant sera ouvert en lecture et écriture ; le chemin `'-'` est considéré comme l’entrée ou la sortie standard. Cependant cette interface est obsolète ; il vaut mieux que l’appelant ouvre le fichier lui-même, en s’assurant si nécessaire que le mode d’ouverture soit `'rb'` ou `'wb'` sur Windows.

Ce code provient d’une contribution de Lance Ellinghouse et a été modifié par Jack Jansen.

Le module `uu` définit les fonctions suivantes :

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

  Uuencode file in_file into file out_file. The uuencoded file will have the header specifying name and mode as the defaults for the results of decoding the file. The default defaults are taken from in_file, or `'-'` and `0666` respectively.

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

  Décode le fichier in_file et écrit le résultat dans out_file. Si out_file est un chemin, mode est utilisé pour les permissions du fichier lors de sa création. Les valeurs par défaut pour out_file et mode sont récupérées des entêtes uuencode. Cependant, si le fichier spécifié par les entêtes est déjà existant, une exception `uu.Error` est levée.

  La fonction `decode()` écrit un avertissement sur la sortie d’erreur si l’entrée contient des erreurs mais que Python a pu s’en sortir. Mettre quiet à True empêche l’écriture de cet avertissement.

exception `uu.``Error`

  Classe fille d”`Exception`, elle peut être levée par `uu.decode()` dans différentes situations, tel que décrit plus haut, mais aussi en cas d’entête mal formatée ou d’entrée tronquée.

Voir aussi

Module `binascii`

  Module secondaire contenant les conversions ASCII vers binaire et binaire vers ASCII.