我試圖使用tarfile
庫來存檔和壓縮沿多個驅動器分佈的多個目錄。 問題是,即使兩個文件存儲在不同的驅動器中,tarfile
也會合並路徑。 例如:在tarfile中區分不同驅動器中的文件
import tarfile
with tarfile.open(r"D:\Temp\archive.tar.gz", "w:gz") as tf:
tf.add(r"C:\files\foo")
tf.add(r"D:\files\bar")
將創建一個包含下列文件的存檔:
archive.tar.gz
└─ files
├─ foo
└─ bar
是否有創建此的一種方式?
archive.tar.gz
├─ C
| └─ files
| └─ foo
└─ D
└─ files
└─ bar
我已經改變了您的示例代碼,因爲你所寫的用途'file'而不是'open'(這已被棄用,並在Python 3中),並且直接使用名稱創建TarInfo並不會填充所有其他文件統計信息,最重要的是大小(沒有大小則不會把所有的數據都歸檔) – Random832
好的,謝謝@ Random832 順便說一下: 'tar.add('/ path/to/dir/to/add /',arcname ='C/files')'? –
嘿,我沒有注意到那裏,因爲你在答案中提到了它,所以我專注於addfile。 – Random832