2012-10-11 85 views
5

如何在python中將空目錄添加到tar文件中,而不是先在磁盤上創建它?將空目錄添加到tar文件

在我的本地文件系統中創建一個空目錄,並將其添加到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 

回答

8

使用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) 
+0

感謝,這正是我想要的。 – mirk