python中zipfile的使用_python调用winrar解压

python中zipfile的使用_python调用winrar解压压缩f=zipfile.ZipFile(file,mode="r",compression=ZIP_STORED,allowZip64=False)创建一个zip文件对象,压缩是需要把mode改为‘w’,这个是源码中的注释OpentheZIPfilewithmoderead"r",write"w"orappend"a",a为追加压缩,不会清空原来的zipf…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

压缩

f=zipfile.ZipFile(file, mode=”r”, compression=ZIP_STORED, allowZip64=False)

创建一个zip文件对象,压缩是需要把mode改为‘w’,这个是源码中的注释Open the ZIP file with mode read “r”, write “w” or append “a”,a为追加压缩,不会清空原来的zip

f.write(filename)

将文件写入zip文件中,即将文件压缩

f.close()

将zip文件对象关闭,与open一样可以使用上下文with as

write有2个可选参数:zipfile.write(‘原文件名’,‘压缩后的文件名’) #第一个是必填,第二个选填

下面放个小demo

 

import zipfile
import os

def zipDir(dirpath,outFullName,name):
    """
    压缩指定文件夹
    :param dirpath: 目标文件夹路径
    :param outFullName: 压缩文件保存路径+xxxx.zip
    :return: 无
    """
    zip = zipfile.ZipFile(outFullName,"a",zipfile.ZIP_DEFLATED)
    for path,dirnames,filenames in os.walk(dirpath):
        # 去掉目标跟路径,只对目标文件夹下边的文件及文件夹进行压缩
        fpath = path.replace(dirpath,'')

        for filename in filenames:
            zip.write(os.path.join(path,filename),os.path.join(name+fpath,filename))
    zip.close()

压缩整个文件夹:

      zipfile模块对“文件夹”的压缩其实是由压缩文件的目录结构实现的,因此可以使用os模块的walk方法进行文件遍历、写入压缩文件。

import zipfile,os

with zipfile.ZipFile('aa.zip','w') as target:
    for i in os.walk('aa'):
        for n in i[2]:
            target.write(''.join((i[0],'\\',n))) 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192584.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VMware虚拟机安装ubuntu16.04系统教程[通俗易懂]

    对于没有接触过Ubuntu系统的小伙伴来说,直接在物理机上安装Ubuntu单系统或者windows、Ubuntu双系统一件比较刺激的事情,因为一不小心可能就会把电脑整崩溃,或者出现各种问题,所以在一开始可以用虚拟机熟悉演练一下Ubuntu系统很有必要,今天把这个过程分享一下,希望朋友们能够一次性地顺利安装好,愉快地进行体验玩耍,话不多说,教程奉上。由于本台电脑是2010的机器了…

    2022年4月7日
    56
  • java google 离线地图开发_如何发布google离线地图及二次开发API[通俗易懂]

    java google 离线地图开发_如何发布google离线地图及二次开发API[通俗易懂]相关教程:1.说明离线地图开发环境支持谷歌地图、百度地图、高德地图等等所有常用地图类型,支持在局域网内的地图部署、二次开发。2.实现第一步:下载安装离线地图开发环境下载安装好之后,启动软件,如下图所示:①如果你的电脑连接到网络,这里可以直接点击【进入】;如果未能链接网络,请插上离线地图加密锁点击【进入】。②这里有离线地图二次开发的相关说明以及帮助信息。点击【进入】后,如下图:①:添加离线地图-…

    2026年2月4日
    5
  • Ubuntu中,VLC中文字幕乱码「建议收藏」

    Ubuntu中,VLC中文字幕乱码「建议收藏」简介VLC播放器是一个非常好用的开源、跨平台的视频播放器。最近下载了不少高清的电影,但是没有内嵌字幕,在射手网上下载的字幕老是乱码,着实麻烦了不少事。解决1、打开工具-首选项2、在视频-字幕/OSD-文本渲染器里,选择一个支持中文的字体。3、在输入/编解码器-字幕编解码器-字幕里,将自动检测UTF8和格式化字幕两项去掉,由于在网上下载的字幕普遍都GBK编码,所以

    2022年7月11日
    43
  • python激活_在线激活「建议收藏」

    (python激活)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    187
  • c语言return x_没有return

    c语言return x_没有returnint GetX() const;int 表示函数返回值为复int型;()为空表示该函数不需要参数制;const 表示该函数不修改百任何值;加起来就是:定义一个返回值类型为度 int 参数为void 名为GetX 的常知函数;类的常对象只道能调用这种常成员函数。const修饰知变量的时候,表示该变量是常量,也就是不可以改变的变量。当const放在成员函道数”尾巴”上修饰成员函数时,则…

    2022年8月18日
    7
  • gmapping matlab实现_gmapping学习

    gmapping matlab实现_gmapping学习一、机器人地图机器人地图一般分为三种类型:栅格地图,拓扑地图,特征地图1、栅格地图栅格地图栅格地图,在物流信息技术中有所涉猎,其就是构建一个个“小方块”,利用颜色信息来区分的地图的位置信息。在机器人建图中,栅格地图容易构建,表示且保存位置的唯一,对于短路径的规划方便;但栅格地图的路径规划效率不高,空间浪费(栅格的分辨率不依赖于环境的复杂度)并且也需要精确的机器人位置估计,其对于物体识别的人机交互问…

    2022年6月16日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号