Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python 文件压缩

作者:——嘘丶低调   发布日期:2026-05-08   浏览:106

import zipfile

# 创建一个压缩文件并添加文件到其中
def compress_files(zip_filename, files_to_compress):
    # 打开一个zip文件,如果文件存在则追加,不存在则创建
    with zipfile.ZipFile(zip_filename, 'w', zipfile.ZIP_DEFLATED) as zipf:
        for file in files_to_compress:
            # 添加文件到zip文件中,arcname参数用于指定压缩包内的文件名
            zipf.write(file, arcname=file.split('/')[-1])  # 使用split获取文件名部分

# 解压文件到指定目录
def extract_zip(zip_filename, output_dir):
    with zipfile.ZipFile(zip_filename, 'r') as zipf:
        # 解压所有文件到指定目录
        zipf.extractall(output_dir)

# 示例用法
if __name__ == "__main__":
    # 要压缩的文件列表
    files_to_compress = ['file1.txt', 'file2.txt']
    zip_filename = 'example.zip'

    # 压缩文件
    compress_files(zip_filename, files_to_compress)

    # 解压文件到指定目录
    output_dir = 'extracted_files'
    extract_zip(zip_filename, output_dir)

解释说明:

  1. 导入模块:使用 zipfile 模块来进行文件的压缩和解压操作。
  2. compress_files 函数
    • 接受两个参数:压缩后的文件名 (zip_filename) 和要压缩的文件列表 (files_to_compress)。
    • 使用 ZipFile 类以写模式打开或创建一个 .zip 文件。
    • 遍历 files_to_compress 列表中的每个文件,并将其添加到压缩文件中。arcname 参数用于指定压缩包内的文件名,这里我们使用 split 方法提取文件名部分。
  3. extract_zip 函数
    • 接受两个参数:压缩文件名 (zip_filename) 和解压目标目录 (output_dir)。
    • 使用 ZipFile 类以读模式打开压缩文件,并调用 extractall 方法将所有文件解压到指定目录。
  4. 示例用法
    • 定义要压缩的文件列表 files_to_compress 和压缩后的文件名 zip_filename
    • 调用 compress_files 函数进行文件压缩。
    • 定义解压目标目录 output_dir,并调用 extract_zip 函数进行解压。

这样就可以实现简单的文件压缩和解压功能。

上一篇:python复制文件夹

下一篇:python管理系统代码

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python的assert基本用法

python开发windows应用程序

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站