首页 > 编程语言 >Python 压缩文件夹

Python 压缩文件夹

时间:2023-09-12 15:45:02浏览次数:46  
标签:txt AAA Python 压缩 文件夹 path save os dir

Python 压缩文件夹

生成测试文件夹

可以先使用该脚本生成测试文件夹,也可以直接用自己的文件夹

import os
import shutil


def main():
    shutil.rmtree('AAA')
    os.makedirs("AAA")
    os.makedirs("AAA/BBB")
    os.makedirs("AAA/BBB/EEE")
    os.makedirs("AAA/BBB/FFF")
    os.makedirs("AAA/CCC")
    os.makedirs("AAA/CCC/GGG")
    os.makedirs("AAA/CCC/GGG/WWW")
    os.makedirs("AAA/CCC/HHH")

    with open('AAA/AAA1.txt', 'w') as f:
        f.write('txt_file_content')

    with open('AAA/AAA2.txt', 'w') as f:
        f.write('txt_file_content')

    with open('AAA/BBB/BBB1.txt', 'w') as f:
        f.write('txt_file_content')

    with open('AAA/BBB/BBB2.txt', 'w') as f:
        f.write('txt_file_content')

    with open('AAA/CCC/CCC1.txt', 'w') as f:
        f.write('txt_file_content')

    with open('AAA/BBB/EEE/EEE1.txt', 'w') as f:
        f.write('txt_file_content')
    with open('AAA/BBB/FFF/FFF1.txt', 'w') as f:
        f.write('txt_file_content')

    with open('AAA/CCC/HHH/HHH1.txt', 'w') as f:
        f.write('txt_file_content')


if __name__ == '__main__':
    main()

压缩文件夹

可以传递绝对路径和相对路径

测试环境是windows和python3.6

import os.path
import zipfile


def zip_dir(dir_path: str, save_path: str):
    dir_path = os.path.abspath(dir_path)
    save_path = os.path.abspath(save_path)
    if not os.path.exists(os.path.dirname(save_path)):
        os.makedirs(os.path.dirname(save_path))
    with zipfile.ZipFile(save_path, "w", zipfile.ZIP_DEFLATED) as f:
        for path, dir_names, filenames in os.walk(dir_path):
            # print(f'path:{path}')
            # print(f'dir_nams:{dir_names}')
            # print(f'filenames:{filenames}')
            for dir_name in dir_names:
                save_folder = os.path.join(path, dir_name)
                # print(f'save_folder:{save_folder}')
                save_folder = save_folder.replace(os.path.dirname(dir_path) + os.sep, '')
                # print(f'save_folder:{save_folder}')
                f.write(save_folder)

            for filename in filenames:
                save_file = os.path.join(path, filename)
                save_file = save_file.replace(os.path.dirname(dir_path) + os.sep, '')
                f.write(save_file)
    print(f"save to path:{save_path}")


def main():
    zip_dir("AAA", 'VV/a.zip')
    zip_dir("E:\gitee_code\learn-python\备份数据库和文件夹\AAA", 'b.zip')


if __name__ == '__main__':
    main()

运行

测试目录结构

image-20230912153151985

生成出的压缩包

image-20230912153551379

标签:txt,AAA,Python,压缩,文件夹,path,save,os,dir
From: https://www.cnblogs.com/rainbow-tan/p/17696369.html

相关文章

  • Python3 JSON 数据解析
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。Python3中可以使用json模块来对JSON数据进行编解码,它包含了两个函数:json.dumps(): 对数据进行编码。json.loads(): 对数据进行解码。在json的编解码过程中,Python的原始类型与json类型会相互转......
  • python中借助列表实现文本转置
     001、[root@pc1test01]#lsa.fatest.py[root@pc1test01]#cata.faATCCGGGCATGGAAGCTTGGATGCATGG[root@pc1test01]#cattest.py#!/usr/bin/envpython3#-*-coding:utf-8-*-in_file=open("a.fa","r")file=in_file.readli......
  • python开发之个微的二次开发
    简要描述:取消消息接收请求URL:http://域名地址/cancelHttpCallbackUrl请求方式:POST请求头Headers:Content-Type:application/json参数:参数名类型说明codestring1000成功,1001失败msgstring反馈信息成功返回示例{"message":"成功","code":"1000","data":......
  • Python爬虫-IP隐藏技术与代理爬取
    在进行爬虫程序开发和运行时,常常会遇到目标网站的反爬虫机制,最常见的就是IP封禁,这时需要使用IP隐藏技术和代理爬取。一、IP隐藏技术IP隐藏技术,即伪装IP地址,使得爬虫请求的IP地址不被目标网站识别为爬虫。通过IP隐藏技术,可以有效地绕过目标网站对于特定IP地址的限制。随机User-Agent......
  • Python学习 -- 正则表达式(re模块)
    正则表达式是一种强大的模式匹配工具,用于在文本中查找和匹配特定模式的字符串。在Python中,我们可以使用re模块来操作和处理正则表达式。本篇技术博客将介绍正则表达式的基础语法和re模块的详细使用方法,并通过具体的代码案例来帮助初学者快速掌握正则表达式的使用。正则表达式基础语......
  • Python爬虫实战:分析在线视频平台数据
    当涉及抓取和分析在线视频平台数据时,Python爬虫是一个强大而有用的工具。下面我将为您提供一些步骤和代码示例,来帮助您进行这样的实战操作。1.确定目标平台:首先,您需要确定要抓取和分析数据的在线视频平台。常见的在线视频平台包括YouTube、B站、优酷等。不同平台可能有不同的数据抓......
  • Python数据采集:如何安全登录认证
    在进行数据采集时,有时会遇到需要处理验证码和登录认证的情况。下面我将为您介绍一些如何安全登录认证的常用方法。处理验证码:1.使用第三方库:可以使用一些第三方库来自动识别和处理验证码,如`pytesseract`和`Pillow`。这些库可以对验证码进行图像处理、文字识别等操作,从而自动提取出......
  • Python取余符号是什么?其运算规则有哪些?
    在Python中,取余运算是一种算术运算,又叫做模运算,是一种非常常用的运算方式,可以应用于判断奇偶数、计算周期、循环计数器等各种场景。那么Python中取余符号是什么?其运算规则有哪些?以下是详细内容介绍。Python中取余符号是什么?Python中的取余运算使用百分号%作为符号,其......
  • Python爬虫学习系列教程-----------爬虫系列 你值的收藏
    大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多。学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴趣的童鞋有帮助,如果有机会期待与大家的交流。Python版本:2.7一、爬虫入门1. Python......
  • 使用python玩跳一跳超详细使用教程
    在上一篇文章里介绍了使用Python玩微信跳一跳的详细使用教程,不过依旧还是有很多小伙伴有各种各样的问题。为了让各位小伙伴都能使用黑科技,于是再做一个超详细教程。从Python的安装开始,手把手教你一步一步配置好环境直到成功运行。python辅助作者github账号为:wangshub。作者的知乎专......