[英]Extracting BZ2 compressed folder using Python
我正在嘗試在特定位置提取bz2
壓縮文件夾。 我可以通過以下方式查看其中的數據:
handler = bz2.BZ2File(path, 'r')
print handler.read()
但我希望將壓縮文件夾中的所有文件提取到一個由用戶指定的位置,該位置維護文件夾的內部目錄結構。
我是這種語言的新手..請幫助...
像gzip一樣,BZ2只是單個文件的壓縮器,它不能歸檔目錄結構。 我懷疑您擁有的檔案文件是先由tar
這樣的軟件創建的,然后由BZ2
壓縮。 為了恢復“完整目錄結構”,請首先解壓縮您的Bz2文件,然后解壓縮(或等效)該文件。
幸運的是,Python tarfile模塊支持bz2選項,因此您可以一次性完成此過程。
您需要使用tarfile模塊解壓縮.tar.bz2
文件...從文檔中獲取以下操作的方法:
import tarfile
tar = tarfile.open(path, "r:bz2")
for tarinfo in tar:
print tarinfo.name, "is", tarinfo.size, "bytes in size and is",
if tarinfo.isreg():
print "a regular file."
# read the file
f = tar.extractfile(tarinfo)
print f.read()
elif tarinfo.isdir():
print "a directory."
else:
print "something else."
tar.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.