python-7 tarfile详解-批量打包压缩

python-7 文件操作-压缩文件文件夹

import tarfile
import os

# 全局变量声明,该脚本用作逐个压缩指定目录下的所有文件及目录,注意在脚本运行前,手动新建savedir
savedir = 'D:/python/save'  #定义压缩后文件存储目录
rootdir = 'D:/python/test'  #定义被压缩文件的目录
jysdir = 'D:/python/jys'    #定义解压缩文件目录
list = os.listdir(rootdir)  # 列出文件夹下所有的目录与文件
list2 = os.listdir(savedir)  # 列出文件夹下所有的目录与文件

def yasuo():
    for i in range(0, len(list)):
        # path = os.path.join(rootdir, list[i])               #定义操作文件路径
        saveFN = "%s/%s.tar.gz" % (savedir, list[i])        #定义压缩后文件路径
        sourceFN = "%s/%s" % (rootdir, list[i])             #定义源文件路径
        arcName = list[i]                                   #tarfile模块要求的关键字参数
        tp = tarfile.open(saveFN, 'w:gz')
        tp.add(sourceFN, arcname=arcName)
        tp.close()
        # if os.path.isfile(path):
        # 你想对文件的操作
        # print(path)
def jieyasuo():
    for i in range(0, len(list2)):
        jysFN = "%s/%s" % (savedir, list2[i])        #定义压缩后文件路径
        tp = tarfile.open(jysFN, 'r')
        tp.extractall(jysdir)
        tp.close()

if __name__ == '__main__':
    # 选一个执行,另一个注释
    yasuo()
    # jieyasuo()
posted @ 2020-02-25 09:33  冰冷的火  阅读(169)  评论(0)    收藏  举报