📅  最后修改于: 2023-12-03 14:51:05.786000             🧑  作者: Mango
在 Python 中,可以使用 zipfile
模块来压缩目录。
下面的代码演示了如何使用 zipfile
模块来压缩目录:
import zipfile
import os
def zip_dir(path, ziph):
"""
压缩目录
:param path: 目录路径
:param ziph: ZipFile 对象
"""
# 遍历目录下的文件和子目录
for root, dirs, files in os.walk(path):
for file in files:
ziph.write(os.path.join(root, file))
if __name__ == '__main__':
# 目录路径
path = '/path/to/dir'
# 压缩文件路径
zip_file = '/path/to/dir.zip'
zipf = zipfile.ZipFile(zip_file, 'w', zipfile.ZIP_DEFLATED)
zip_dir(path, zipf)
zipf.close()
zipfile.ZipFile
创建一个 ZipFile 对象,参数 w
表示写入模式,zipfile.ZIP_DEFLATED
表示压缩算法为 deflated
。os.walk
遍历文件和子目录。ziph.write
将文件写入 ZipFile。下面的代码演示了如何使用 zipfile
模块来解压缩目录:
import zipfile
import os
def unzip_file(zip_file, extract_path):
"""
解压缩文件
:param zip_file: 压缩文件路径
:param extract_path: 解压缩路径
"""
zip_ref = zipfile.ZipFile(zip_file, 'r')
zip_ref.extractall(extract_path)
zip_ref.close()
if __name__ == '__main__':
# 压缩文件路径
zip_file = '/path/to/dir.zip'
# 解压缩路径
extract_path = '/path/to/extract'
unzip_file(zip_file, extract_path)
zipfile.ZipFile
创建一个 ZipFile 对象,参数 r
表示只读模式。zip_ref.extractall
解压缩文件。