tarfile モジュールは、tar アーカイブを読んで作成することができるようにします。 いくつかの事実と外観:
[name[, mode [, fileobj[, bufsize]]]]) |
mode は 'filemode[:compression]'
の形式をとる文字列で
なければなりません.デフォルトの値は 'r'
です.以下に
modeのとりうる組み合わせ全てを示します.
mode | 動作 |
---|---|
'r' または 'r:*' |
透過な圧縮つきで読み込むためにオープンします(推奨)。 |
'r:' |
圧縮なしで排他的に読み込むためにオープンします。 |
'r:gz' |
gzip 圧縮で読み込むためにオープンします。 |
'r:bz2' |
bzip2 圧縮で読み込むためにオープンします。 |
'a' または 'a:' |
圧縮なしで追加するためにオープンします。 |
'w' または 'w:' |
非圧縮で書き込むためにオープンします。 |
'w:gz' |
gzip 圧縮で書き込むためにオープンします。 |
'w:bz2' |
bzip2 圧縮で書き込むためにオープンします。 |
'a:gz'
あるいは 'a:bz2'
は可能ではないことに注意して下さい。
もし modeが、ある(圧縮した)ファイルを読み込み用にオープンするのに、
適していないなら、ReadErrorが発生します。これを防ぐには
mode 'r'
を使って下さい。もし圧縮メソッドが
サポートされていなければ、
CompressionError が発生します。
もし fileobjが指定されていれば、それは nameでオープンされた ファイルオブジェクトの代替として使うことができます。
特別な目的のために、modeの2番目の形式:
'ファイルモード|[圧縮]'
があります。この形式を使うと,
open
が返すのはデータをブロックからなるストリームとして扱う
TarFile オブジェクトになります.この場合,ファイルに対して
ランダムな seek を行えなくなります.fileobj を指定する場合,
read()
およびwrite()
メソッドを持つ任意のオブジェクトに
できます.
bufsize にはブロックサイズを指定します.デフォルトは
20 * 512
バイトです。sys.stdin
,ソケットファイル
オブジェクト,テーブデバイスと組み合わせる場合にはこの形式を
使ってください.ただし,このようなTarFile オブジェクトには
ランダムアクセスを行えないという制限があります.
例 (セクション 12.5.3)を参照してください。
現在可能なモードは:
モード | 動作 |
---|---|
'r|*' |
tar ブロックの ストリーム を透過な読み込みにオープンします。 |
'r|' |
非圧縮 tar ブロックの ストリーム を読み込みにオープンします。 |
'r|gz' |
gzip 圧縮 ストリームを読み込みにオープンします。 |
'r|bz2' |
bzip2 圧縮 ストリーム を読み込みにオープンします。 |
'w|' |
非圧縮 ストリームを書き込みにオープンします。 |
'w|gz' |
gzip 圧縮 ストリーム を書き込みにオープンします。 |
'w|bz2' |
bzip2 圧縮 ストリームを書き込みにオープンします。 |
name) |
filename[, mode[, compression]]) |
zipfile
-風なインターフェースを持つ tar アーカイブへの
制限されたアクセスのためのクラスです。詳細は
zipfile
のドキュメントを参照してください.
compression は、以下の定数のどれかでなければなりません:
== 2
の フェータルでない エラーに対してだけ発生します。