Python下使用tarfile模块来实现文件归档压缩与解压

来源:互联网 发布:古代兵器知乎 编辑:程序博客网 时间:2024/06/05 22:40


Python下使用tarfile模块来实现文件归档压缩与解压

 

部分转自:http://www.diybl.com/course/3_program/python/20110510/555345.html

 

Tarfile.open(cls, name=None, mode='r', fileobj=None, bufsize=10240, **kwargs) method of __builtin__.type instance

    Open a tar archive for reading, writing or appending. Return

    an appropriate TarFile class.

   

    mode:

    'r' or 'r:*' open for reading with transparent compression

    'r:'         open for reading exclusively uncompressed

    'r:gz'       open for reading with gzip compression

    'r:bz2'      open for reading with bzip2 compression

    'a' or 'a:'  open for appending, creating the file if necessary

    'w' or 'w:'  open for writing without compression

    'w:gz'       open for writing with gzip compression

    'w:bz2'      open for writing with bzip2 compression

   

    'r|*'        open a stream of tar blocks with transparent compression

    'r|'         open an uncompressed stream of tar blocks for reading

    'r|gz'       open a gzip compressed stream of tar blocks

    'r|bz2'      open a bzip2 compressed stream of tar blocks

    'w|'         open an uncompressed stream for writing

    'w|gz'       open a gzip compressed stream for writing

    'w|bz2'      open a bzip2 compressed stream for writing

 

 

1.压缩,创建tar.gz包

 

#!/usr/bin/env python

 

import os

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()

 

 

2.解压tar.gz包

 

#!/usr/bin/env python

 

import tarfile

 

tar = tarfile.open(“/tmp/tartest.tar.gz”)

names = tar.getnames()

 

for name in names:

       tar.extract(name,path=”/tmp”)

0 0
原创粉丝点击