码迷,mamicode.com
首页 > 编程语言 > 详细

python tar 压缩解压

时间:2019-01-06 14:33:47      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:creat   ufs   append   with   without   target   color   names   dir   

 

压缩:

1.

import tarfile
import os
def tar(fname):
    t = tarfile.open(fname + ".tar.gz", "w:gz")
    for root, dir, files in os.walk(fname):
        for file in files:
            fullpath = os.path.join(root, file)
            t.add(fullpath)
    t.close()

if __name__ == "__main__":
    tar("test")

2.

import tarfile
 
#创建压缩包名
tar = tarfile.open("/tmp/tartest.tar.gz","w:gz")
#创建压缩包
for root,dir,files in os.walk("/tmp/tartest"):
    for file in files:
        fullpath = os.path.join(root,file)
        tar.add(fullpath)
tar.close()

解压:

def extract(tar_path, target_path):
    try:
        tar = tarfile.open(tar_path, "r:gz")
        file_names = tar.getnames()
        for file_name in file_names:
            tar.extract(file_name, target_path)
        tar.close()
    except Exception, e:
        raise Exception, e

其中open的原型是:

tarfile.open(name=None, mode=r, fileobj=None, bufsize=10240, **kwargs)

mode的值有:

r or r:*   Open for reading with transparent compression (recommended).
r:   Open for reading exclusively without compression.
r:gz   Open for reading with gzip compression.
r:bz2   Open for reading with bzip2 compression.
a or a:   Open for appending with no compression. The file is created if it does not exist.
w or w:   Open for uncompressed writing.
w:gz   Open for gzip compressed writing.
w:bz2   Open for bzip2 compressed writing.

 

python tar 压缩解压

标签:creat   ufs   append   with   without   target   color   names   dir   

原文地址:https://www.cnblogs.com/sea-stream/p/10228416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!