2015-04-02 60 views
0

我有許多擴展名爲「tar.bz2」的文件,我想解壓縮它們。 所以我使用「tarfile」模塊,這裏解釋如下:https://docs.python.org/3/library/tarfile.html使用Python tarfile模塊解壓縮tar.bz2文件

我試試下面的代碼:

import tarfile 
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2") 
for i in tar: 
    tar.extractall(i) 
tar.close() 

但什麼也沒有發生:在TAR.BZ2文件還沒有被解壓縮到文件夾 「path_to /測試/」。

你有什麼想法嗎?
謝謝!

回答

5

您可以使用帶有錯誤參數的tar.extractall。我想,你需要像這樣

import tarfile 
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2") 
tar.extractall() 
tar.close() 

import tarfile 
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2") 
for i in tar: 
    tar.extractfile(i) 
tar.close() 

如果需要將文件提取到一些特定的文件夾

import tarfile 
tar = tarfile.open("path_to/test/sample.tar.bz2", "r:bz2") 
tar.extractall(some_path) 
tar.close() 
+0

謝謝。但我嘗試了兩種解決方案,但結果相同:沒有任何反應。 – Julien 2015-04-02 15:00:46

+0

第三種解決方案有效,非常感謝! – Julien 2015-04-02 15:06:26