当前位置:首页 > python > 正文内容

python zip 压缩文件 解压文件

root6个月前 (02-23)python513
# 压缩文件

import errno
import os
import zipfile

def zip_pack_file(target_path, zip_file_name=None):
    #  target_path 目标路径
    #  要压缩成的文件名路径
    if zip_file_name is None:
        zip_file_name = target_path.split("/")[-1] + ".zip"
    base_dir = os.path.dirname(target_path)
    if os.path.isfile(target_path):
        #  zip_file_name 文件名路径,a是追加,w是写入,会覆盖
        with zipfile.ZipFile(zip_file_name, "a") as zipfile_client:
            zipfile_client.write(zip_file_name, arcname=zip_file_name.replace(base_dir, ""),
                                 compress_type=zipfile.ZIP_DEFLATED)
    elif os.path.isdir(target_path):
        with zipfile.ZipFile(zip_file_name, "a") as zip_file:
            for dirpath, dirnames, filenames in os.walk(target_path):
                for filename in filenames:
                    target_file = os.path.join(dirpath, filename)
                    zip_file.write(target_file, arcname=target_file.replace(base_dir, ""),
                                   compress_type=zipfile.ZIP_DEFLATED)
    else:
        raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), target_path)
    print("Created zip file : {}".format(zip_file_name))

解压文件

import zipfile

def unzip_file(zip_file,target="."):
    # 要解压的文件,目标路径
    with zipfile.ZipFile(zip_file) as zipfile_client:
    
        zip_list = zipfileclient.namelist()
        for f in zip_list:
            zip_file.extract(f, target)


扫描二维码推送至手机访问。

版权声明:本文由一叶知秋发布,如需转载请注明出处。

本文链接:https://zhiqiu.top/?id=218

标签: pythonzip
分享给朋友:

相关文章

selenium的八种定位方式

find_element_by_id()通过元素的id定位find_element_by_name()通过元素的属性name值定位find_element_by_class_name()通过元素的class值来定位find_element_...

python 发送和发送ICMP数据包

python 发送和发送ICMP数据包

ICMP协议在实际传输中数据包:20字节IP首部 + 8字节ICMP首部+ 1472字节<数据大小>38字节。对于ICMP首部细分为8位类型+8位代码+16位校验和+16位标识符+16位序列号其中类型的取值如下,我们比较关注的是...

Python 读取图片的几种方式

OpenCV读取图片OpenCV读取的图片,直接就是numpy.ndarray格式,无需转换import cv2  img_cv   = cv2.imread(dirpath)#...

python 之optparse模块OptionParser

该模块让python脚本命令能够符合标准的Unix命令例程式每个命令行参数就是由参数名字符串和参数属性组成的。如 -f 或者 file 分别是长短参数名当你将所有的命令行参数都定义好了的时候,我们需要调用parse_args()方法赖际熙a...

python2 安装mysqldb的血泪

在安装mysqlDB的时候包名不是mysqlDB,同时python2的mysqldb感觉不是很好用,可以试试pymysql下载安装mysql 源wget http://repo.mysql.com/mysql57-community-rel...

falsk &django +uwsgi 的配置文件

flask的uwsgi配置文件[uwsgi]pythonpath=/usr/bin/python3  #uwsgi采用的py版本,如果项目采用的py版本跟系统默认一直可以不用写base=/***/***/***  &nb...