19.10. uu — Encode et decode 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ère 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 dépréciée; 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 a été contribué par Lance Ellinghouse, et modifié par Jack Jansen.

Le module uu définit les fonctions suivantes :

uu.encode(in_file, out_file, name=None, mode=None)

Uuencode le fichier in_file dans le fichier out_file. Le fichier uuencodé contiendra une entête spécifiant les valeurs de name et mode par défaut pour le décodage du fichier. Par défaut ces valeurs sont prises de in_file ou valent respectivement '-' et 0o666.

uu.decode(in_file, out_file=None, mode=None, quiet=False)

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 existe, une exception uu.Error est levée.

La fonction decode() peut écrire une alerte sur la sortie d’erreur si l’entrée contient des erreurs mais que Python à pu s’en sortir. Mettre quiet à True empêche l’écriture de cette alerte.

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-à-binaire et binaire-à-ASCII.