6

最初にディスク上に作成せずに、Pythonでtarfileに空のディレクトリを追加するにはどうすればよいですか?

ローカルファイルシステムに空のディレクトリを作成し、これをtarファイルに追加するのは簡単ですが、不要なオーバーヘッドが発生します。

ただし、tarファイルに直接作成するのは簡単ではないようです。私の試みは次のようになります:

import tarfile

with tarfile.open("test.tbz2",mode='w:bz2') as t:
    t.add("conf_dir") # does not work
    t.add(tarfile.TarInfo("conf_dir")) # does not work
4

1 に答える 1

10

addfile()を使用して、 TarInfo.typeをtarfile.DIRTYPEに変更します

import tarfile    

with tarfile.open("test.tbz2",mode='w:bz2') as f:
    t = tarfile.TarInfo('mydir')
    t.type = tarfile.DIRTYPE
    f.addfile(t)
于 2012-10-11T16:46:45.560 に答える