我有,我有一個目錄,我需要在一個給定的目錄中提取tar歸檔。 例如:我有一個目錄提取物目錄路徑中的所有文件在指定目錄下
TarPrefix/X/Y/Z
在tar歸檔我想提取其在例如一個給定的目標目錄:提取/ A /這個目錄應包含目錄TarPrefix/x/y/z中包含的所有文件和目錄。
subdir_and_files = [ tarinfo for tarinfo in tar.getmembers()
if tarinfo.name.startswith("subfolder/")
]
獲取目錄路徑中的所有成員的名單「子文件夾/」,然後我就用tar.extractall(extracted/a,subdir_and_files)
提取,但提取所有成員與他們的目錄路徑例如,這將導致中提取/ A/X/Y/Z。 你能幫我解壓縮給定文件夾中的這些文件嗎?
我不知道,但這個問題似乎是那種你相反的:HTTP: //stackoverflow.com/questions/2239655/python-tarfile-adding-files-without-directory-hiearchy也許你可以使用提取物(),而不是extractall(),看看你可以發生,有可能通過修改TarInfo你的對象得到了subdir_and_files? –
不好意思問一個初學者的問題。我是python的初學者,並沒有在谷歌上找到任何答案,所以問了這樣一個問題。爲了幫助他人,我想回答這個問題。 您只需要將tarinfo.name屬性值更改爲正確的值即可。即在我給出的例子中'tarinfo.name = tarinfo.name [len(Tarprefix/x/y/z):]'然後使用相同的代碼工作。 – gaurav
我試圖回答我自己的問題,但直到八小時才被允許,所以一直在等待。 – gaurav