python模块--zipfile文件压缩
zipfile模块是python中一个处理压缩文件的模块,解决了不少我们平常需要处理压缩文件的需求 ,本文主要谈谈zipfile几个常用的用法。 首先我在Windows操作系统中创建如下的文件目录: 一、读取压缩文件: 代码: import zipfile import os # 压缩文件路径 zip_file_path = r'F:压缩文件zipfilezipfile_dir.zip' # 压缩文件目录路径 zip_dir = r'F:压缩文件zipfilezipfile_dir' # 打开压缩文件 zip_files = zipfile.ZipFile(zip_file_path,mode='r') # 获取zip压缩文件的相关信息 for content in zip_files.infolist(): ??? print(content) # 遍历zip压缩文件的文件名称 for name in zip_files.namelist(): ??? print(name) # 记得要像读取file那样关闭文件句柄 zip_files.close() 压缩文件的名称、压缩算法和大小等信息 压缩文件目录下所有文件的名称 zipfile_dir///
二、往zip目录中添加文件 代码: # 在指定zip压缩文件目录下创建zip文件 create_zip_file = zipfile.ZipFile(zip_file_path,mode='a',compression=zipfile.ZIP_DEFLATED) new_file_path = os.path.join(zip_dir,r'README.txt') # 将文件夹中的文件拷贝进zip目录 file_name = 'README.txt' create_zip_file.write(new_file_path,file_name) create_zip_file.close() 注意:加入zip目录的文件本身在文件夹中已经存在,否则zipfile模块搜索路径是无法找到的。 添加成功: 三、解压文件: zipfile提供的压缩方法有: ZIP_STORED,ZIP_DEFLATED, ZIP_BZIP2和ZIP_LZMA ZIP_STOREED:只是作为一种存储,实际上并未压缩 ZIP_DEFLATED:用的是gzip压缩算法 ZIP_BZIP2:用的是bzip2压缩算法 ZIP_LZMA:用的是lzma压缩算法 gzip和bzip2压缩算法的区别: 使用 gzip要比bzip2快,但是bzip2会获得比 gzip更高的压缩率,即bzip压缩后的压缩文件跟小。 更多关于这几种算法的区别可以看这两篇篇文章: https://www.cnblogs.com/kuang17/p/7193124.html https://blog.csdn.net/leilonghao/article/details/73200859 代码: # 解压后文件放置的目录 unzip_dir = r'F:tk_demo_test' # 解压前文件的zip目录 zip_file2_path = r'F:tk_demo.zip' unzip_files = zipfile.ZipFile(zip_file2_path,mode='r',compression=zipfile.ZIP_DEFLATED) unzip_files.extractall(unzip_dir) unzip_files.close() 解压成功: 参考文章: https://www.cnblogs.com/kuang17/p/7193124.html https://blog.csdn.net/leilonghao/article/details/73200859 更多内容,请参考官方文档:https://docs.python.org/3/library/zipfile.html#zipfile.ZIP_STORED (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |