python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python文件打包成Zip

Python如何将文件夹中的所有文件打包成Zip压缩包

作者:岫珩

这篇文章主要为大家详细介绍了Python如何实现将文件夹中的所有文件打包成Zip压缩包,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

Python 将文件夹中的所有文件打包成Zip压缩包

正常情况下我们只需要鼠标右键选择压缩工具将文件或文件夹压缩或者解压即可

但如果是使用自动化工具过程中需要将某些现有或生成的文件夹打包(或者再继续进行其他操作)时,可通过下列示例代码进行操作

1. 需要引入的库

压缩需要引入的内容如下

# 可选,用于打印时间戳
import datetime
# 系统路径等获取
import os
# 压缩文件的库
import zipfile

2. 创建文件夹

在本地创建一个需要压缩的文件夹,并在其中创建一个子文件夹和一个文件,如下

创建文件夹TEST1并在其下创建文件夹test1和文件test2.txt

在TEST1文件夹同级创建TEST2ZIP文件夹,用于存放压缩后的zip文件

3. 实例代码

示例代码如下

zip_test.py

import datetime
import os
import zipfile
# 将指定文件夹打包为 zip 文件
def zip_folder(folder_path, output_path):
    # folder_path: 要打包的文件夹路径
    # output_path: 输出的 zip 文件路径
    # 创建 zip 文件
    with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zip_file:
        # 遍历文件夹
        for root, dirs, files in os.walk(folder_path):
            for file in files:
                # 获取文件绝对路径
                file_path = os.path.join(root, file)
                # 获取文件在zip文件中的相对路径
                reletive_path = os.path.relpath(file_path, folder_path)
                # 添加文件到zip文件中
                zip_file.write(file_path, os.path.relpath(file_path, folder_path))

if __name__ == "__main__":
    # 获取当前时间
    datetimestr = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    print(datetimestr)

    # 需要压缩的文件夹路径
    folder_path = r'D:\重载\TEST1'
    # 输出的zip文件路径
    output_path = r'D:\重载\TEST2ZIP\TEST1.zip'
    zip_folder(folder_path, output_path)

4. 执行代码

在代码文件所在路径位置输入cmd打开命令提示符窗口

输入以下命令并回车

py zip_test.py

执行完成输出如下

5. 查看压缩文件

查看TEST2ZIP文件夹下是否已经有生成的zip文件

已经存在,此时右键并解压缩,验证内容是否一致

解压后出现了文件并未出现文件夹,因为上述代码中对空文件夹不做压缩,只有文件夹中有文件才会压缩

到此这篇关于Python如何将文件夹中的所有文件打包成Zip压缩包的文章就介绍到这了,更多相关Python文件打包成Zip内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文