zipfile压缩文件。包括空目录

# !/usr/bin/python
import os
import zipfile def zipdir(dirPath=None, zipFilePath=None, includeDirInZip=True):
if not zipFilePath:
zipFilePath = dirPath + ".zip"
if not os.path.isdir(dirPath):
raise OSError("必须指定一个目录, '%s'不是目录。" % dirPath)
parentDir, dirToZip = os.path.split(dirPath)
# parentDir=C:\Users\Administrator\Desktop\菊花号
# dirToZip=abc # Little nested function to prepare the proper archive path
def trimPath(path):
archivePath = path.replace(parentDir, "", 1)
if parentDir:
archivePath = archivePath.replace(os.path.sep, "", 1)
if not includeDirInZip:
archivePath = archivePath.replace(dirToZip + os.path.sep, "", 1)
return archivePath outFile = zipfile.ZipFile(zipFilePath, "w",
compression=zipfile.ZIP_DEFLATED)
for (archiveDirPath, dirNames, fileNames) in os.walk(dirPath):
print(archiveDirPath)
print(dirNames)
print(fileNames)
for fileName in fileNames:
filePath = os.path.join(archiveDirPath, fileName) outFile.write(filePath, trimPath(filePath))
# Make sure we get empty directories as well
if not fileNames and not dirNames:
zipInfo = zipfile.ZipInfo(trimPath(archiveDirPath) + "/")
# print(trimPath(archiveDirPath) + "/")
# some web sites suggest doing
# zipInfo.external_attr = 16
# or
# zipInfo.external_attr = 48
# Here to allow for inserting an empty directory. Still TBD/TODO.
outFile.writestr(zipInfo, "")
outFile.close() if __name__ == '__main__':
zipdir("C:\\Users\\Administrator\\Desktop\\菊花号\\abc",
"C:\\Users\\Administrator\\Desktop\\菊花号\\abc.zip")

python使用zipfile压缩文件,包括空目录的更多相关文章

  1. Python中zipfile压缩文件模块的使用

    目录 zipfile 压缩一个文件 解压文件 高级应用 利用 zipfile 模块破解压缩文件口令:Python脚本破解压缩文件口令 zipfile Python 中 zipfile 模块提供了对 z ...

  2. Python脚本破解压缩文件口令(zipfile)

    环境:Windows python版本2.7.15 Python中操作zip压缩文件的模块是 zipfile . 相关文章:Python中zipfile压缩文件模块的使用 我们破解压缩文件的口令也是用 ...

  3. 【转】python的zipfile压缩、解压缩

    网上搜索了很多关于python的zipfile压缩.解压缩.觉得讲述比较详细,例子也很明了.由于比较懒,就直接复制了. 以下内容大部分转于 http://blog.csdn.net/jgood/art ...

  4. python批量处理压缩文件

    python批量处理压缩文件 博客小序:在数据的处理中,下载的数据很有可能是许多个压缩文件,自己一个一个解压较为麻烦,最近几日自己在处理一次下载的数据时,遇到大量的压缩数据需要处理,于是利用pytho ...

  5. 用python暴力破解压缩文件并不是万能,至少这个场景我告诉你密码你用代码也破解不了

    看到论坛上各种贴子写用python进行暴力破解的文章,于是自己也想去尝试一下,不试不知道,一试吓一跳,真的就像那句有名的”python由入门到放弃“,把论坛上别人的脚本全部自己敲一遍,运行不报错,但也 ...

  6. python实现批量压缩文件夹

    前段时间碰到一个需要把目录下文件夹压缩的项目,但是度娘里没找到,只好自己写脚本了. #coding:utf-8 import os filePath = raw_input("请输入路径:& ...

  7. 【Python】zlib压缩文件

    import zlib import os ss = 's' * 1024 * 1024 #写入原始文件 file = open("src.dat", "wb" ...

  8. day6学python 生成器迭代器+压缩文件

    生成器迭代器+压缩文件 readme的规范 1软件定位,软件的基本功能2运行代码的方法:安装环境,启动命令3简要的使用说明4代码目录结构说明,更详细点可以说明软件的基本原理5常见问题说明 ====== ...

  9. 利用python暴力破解压缩文件密码

    import randomimport sysimport zipfileimport timefrom threading import Threadfrom multiprocessing imp ...

  10. java压缩文件解压:调用WinRAR5命令强于自己写代码实现

    最近,手上维护着一个几年前的系统,技术是用的JSP+Strust2,系统提供了rar和zip两种压缩格式的解压功能,后台是用java实现的 1.解压rar格式,采用的是java-unrar-0.3.j ...

随机推荐

  1. vue.js与webpack有什么关系?

    webpack是一个前端打包和构建工具.如果你之前一直是手写HTML,CSS,Javascript并且通过link标签将CSS引入你的HTML文件,以及通过Script标签的src属性引入外部的JS脚 ...

  2. 【北邮人论坛帖子备份】【FAQ】给今年国企求职学弟学妹的一点建议

    目录 主要内容 补充--[心得][校招]面向国企秋招的一些体会 补充--[心得]回馈论坛,某toca的小弟金融类央企秋招过程中的一点点 主要内容 时间:Fri Feb 19 23:00:33 2021 ...

  3. hashtable被弃用了

      Hashtable的作者:HashMap的作者:Hash Map的作者比Hashtable的作者多了著名顶顶的并发大神Doug Lea.他写了util.concurrent包.著有并发编程圣经Co ...

  4. NX二次开发,对象上色

    #include <uf_defs.h> #include <uf_ui_types.h> #include <uf.h> #include <uf_ui.h ...

  5. 管理名称空间资源(Kubernetes)

    管理名称空间资源 名称空间(Namespace)是Kubernetes集群级别的资源,用于将集群分隔为多个隔离的逻辑分区以配置给不同的用户.租户.环境或项目使用.例如,可以为development.q ...

  6. 「NOTE」常系数齐次线性递推

    要不是考到了,我还没发现这玩意我不是很会-- # 前置 多项式取模: 矩阵快速幂. # 常系数齐次线性递推 描述的是这么一个问题,给定数列 \(c_1,c_2,\dots,c_k\) 以及数列 \(f ...

  7. Apache HTTPD 多后缀解析漏洞复现(Kali)

    ​ 通过vulhub靶场进行复现操作    1.首先搭建靶场环境(采用Kali) cd /vulhub/httpd/apache_parsing_vulnerability //进入对应漏洞目录,具体 ...

  8. SpringBatch生成的DB表SQL

    SQL: -- Autogenerated: do not edit this file DROP TABLE IF EXISTS BATCH_STEP_EXECUTION_CONTEXT; DROP ...

  9. snpEFF注释的vcf文件转化成maf文件

    利用一个perl语言写的工具:snpeffTomaf 一行代码即可实现非常方便 github地址链接:https://github.com/tsy19900929/snpeffToMaf 将此仓库中的 ...

  10. vue-element-admin 安装运行失败

    1.clone代码后 npm install,结果报错,如下: 解决方法: 在github中的添加新的ssh (生成ssh链接:https://blog.csdn.net/qq_35495339/ar ...