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 を真にすることでこの警告を抑制することができます。

exceptionuu.Error

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

参考

モジュールbinascii

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