18.16. uu — uuencode形式のエンコードとデコード

ソースコード: Lib/uu.py


このモジュールではファイルを uuencode 形式(任意のバイナリデータを ASCII 文字列に変換したもの)にエンコード、デコードする機能を提供します。引数としてファイルが仮定されている所では、ファイルのようなオブジェクトが利用できます。後方互換性のために、パス名を含む文字列も利用できるようにしていて、対応するファイルを開いて読み書きします。しかし、このインタフェースは利用しないでください。呼び出し側でファイルを開いて(Windows では 'rb''wb' のモードで)利用する方法が推奨されます。

このコードは Lance Ellinghouse によって提供され、Jack Jansen によって更新されました。

uu モジュールでは以下の関数を定義しています:

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

in_fileout_file にエンコードします。エンコードされたファイルには、デフォルトでデコード時に利用される namemode を含んだヘッダがつきます。省略された場合には、 in_file から取得された名前か '-' という文字と、 0666 がそれぞれデフォルト値として与えられます。

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

uuencode 形式でエンコードされた in_file をデコードして varout_file に書き出します。もし out_file がパス名でかつファイルを作る必要があるときには、 mode がパーミッションの設定に使われます。 out_filemode のデフォルト値は in_file のヘッダから取得されます。しかし、ヘッダで指定されたファイルが既に存在していた場合は、 uu.Error が送出されます。

誤った実装の uuencoder による入力で、エラーから復旧できた場合、 decode() は標準エラー出力に警告を表示するかもしれません。 quiet を真にすることでこの警告を抑制することができます。

exception uu.Error

Exception のサブクラスで、 uu.decode() によって、さまざまな状況で送出される可能性があります。上で紹介された場合以外にも、ヘッダのフォーマットが間違っている場合や、入力ファイルが途中で区切れた場合にも送出されます。

参考

モジュール binascii
ASCII からバイナリへ、バイナリからASCIIへの変換をサポートするモジュール。