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

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android Intent 解析之二

    Android Intent 解析之二

  • Docker安装Jenkins教程

    Docker安装Jenkins教程Docker安装Jenkins教程前言一、安装Jenkins1.下载Jenkins2.创建Jenkins挂载目录并授予权限3.启动Jenkins容器4.验证Jenkins容器是否启动二、浏览器访问Jenkins页面1.输入http://192.168.XX.XX:102402.获取管理员密码前言Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。提示:如果没有安装Docker,传送门在这里:链接:

  • Java递归下降分析器_递归下降语法分析器[通俗易懂]

    Java递归下降分析器_递归下降语法分析器[通俗易懂]用java语言编写的递归下降语法分析器,是一种适合手写语法编译器的方法,且非常简单。递归下降法对语言所用的文法有一些限制,但递归下降是现阶段主流的语法分析方法,因为它可以由开发人员高度控制,在提供错误信息方面也很有优势。就连微软C#官方的编译器也是手写而成的递归下降语法分析器。使用递归下降法编写语法分析器无需任何类库,编写简单的分析器时甚至连前面学习的词法分析库都无需使用。我们来看一个例子:现在有…

  • 小记 HTML5 file对象

    小记 HTML5 file对象

  • eidos云矿机_空投挖矿

    eidos云矿机_空投挖矿eidos空投矿机虽然已经有几款网页版的了,甚至还有收费的,但并不适合长期运行,特别是需要挂在VPS里,所以就出现了这款控制台运行的,如果觉得对你有帮助就给个star吧。项目地址https://github.com/donjan-deng/eidos-miner环境需求nodejs>=10scatter>=11(网页版可在低版本运行)使用方法也有个简易的网页版…

  • 天河免费刷流量工具

    天河免费刷流量工具在用,觉得不错,拿出来分享一下,网址: http://u.115.com/file/f2c6dc01b4   提取码:f2c6dc01b4 http://download.csdn.net/source/2676044 需要有CSDN账号 http://ishare.iask.sina.com.cn/f/9876474.html…

发表回复

您的电子邮箱地址不会被公开。

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