python3 压缩文件及文件夹

zipfile模块

ZIP 文件格式是一个常用的归档与压缩标准。 这个模块提供了创建、读取、写入、添加及列出 ZIP 文件的工具。
它可以处理使用 ZIP64 扩展(超过 4 GB 的 ZIP 文件)的 ZIP 文件。它支持解密 ZIP 归档中的加密文件,但是目前不能创建一个加密的文件。解密非常慢,因为它是使用原生 Python 而不是 C 实现的。

摘自:python官网

压缩文件夹

import os, os.path
import zipfile

# now_path获取当前工作目录

now_path = os.getcwd()

# 定义zip_dir函数(dirname: 目录, zipfilename:zip文件名)

def zip_dir(dirname, zipfilename):

    # filelist列表用来存放文件的绝对路径
    filelist = []
    if os.path.isfile(dirname):
        filelist.append(dirname)
    else:
        for root, dirs, files in os.walk(dirname):
            for name in files:
                filelist.append(os.path.join(root, name))
    zf = zipfile.ZipFile(zipfilename, "w", zipfile.zlib.DEFLATED)
    for full_name in filelist:
        # file_name 获取文件名
        file_name = full_name[len(dirname):]
        # 添加full_name 文件到压缩包
        zf.write(full_name)
    zf.close()
     # 调用了close方法才会保证完成压缩

OVER

有的地方自己也不是很清楚,请大家多多关照

猜你喜欢

转载自www.cnblogs.com/liwublog/p/12177053.html