开发者

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

目录
  • python 将文件夹中的所有文件打包成Zip压缩包
    • 1. 需要引入的库
    • 2. 创建文件夹
    • 3. 实例代码
    • 4. 执行代码
    • 5. 查看压缩文件

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

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

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

1. 需要引入的库

压缩需要引入的内容如下

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

2. 创建文件夹

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

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

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

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

Python如何将文件夹中的所有文件打包成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__www.devze.com":
    # 获取当前时间
    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打开命令提示符窗口

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

输入以下命令并回车

py zip_test.py

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

执行完成输出如下

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

5. 查看压缩文件

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

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

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

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

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

到此这篇关于Python如何将文件夹中的所有文件打包成Zip压缩包的文章就介绍到这了,更多相关Pythowww.devze.comn文件打包成Zip内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜