返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

python学习笔记:自动压缩文件夹

[复制链接]
前方录 显示全部楼层 发表于 2024-3-4 08:34:48 |阅读模式 打印 上一主题 下一主题

登录网站,浏览更多精彩内容

您需要 登录 才可以下载或查看,没有账号?加入我们

x
本帖最后由 前方录 于 2024-3-5 07:52 编辑

一、os库

(一)获取文件或文件夹的父级目录
os.path.dirname(dirpath)

(二)os.walk(dirpath)返回三个元组:当前目录路径、当前目录下的所有子目录名、当前目录下的所有文件名。
    1.一般使用它来遍历目录下的所有文件、文件夹
    2.dirpath是目录地址

(三)遍历文件夹中的全部文件夹及文件[mw_shl_code=python,true]for root, dirs, files in os.walk(dirpath):
    for file in files:[/mw_shl_code]  
1.root代表文件目录

  2.dirs代表全部文件夹

  3.files代表全部文件


  4.for file in files遍历所有文件


(四)os.path.join(root, file)

   获取带文件名的文件目录


(五)os.path.relpath(filepath, parent_name)
   获取文件filepath相对于parent_name的路径

二、zipfile库
(一)创建压缩文件output_name
zip = zipfile.ZipFile(output_name, "w", zipfile.ZIP_DEFLATED)

(二)zip.write(filepath, writepath)

把文件或目录filepath写入到writepath路径中


[mw_shl_code=php,true]import os
import zipfile
def do_zip_compress(dirpath):
    output_name = f"{dirpath}.zip"
    parent_name = os.path.dirname(dirpath)
    zip = zipfile.ZipFile(output_name, "w", zipfile.ZIP_DEFLATED)
    for root, dirs, files in os.walk(dirpath):
        for file in files:
            if str(file).startswith("~$"):
                continue
            filepath = os.path.join(root, file)
            writepath = os.path.relpath(filepath, parent_name)
            zip.write(filepath, writepath)
    zip.close()
dirpath = r"D:\yyy\pythonProject\python入门100题\第17章:文件管理"
do_zip_compress(dirpath)[/mw_shl_code]






中国领先的数字技术资源交流中心!
商乾全球电商人、电商交流学习与电商实战技术分享、电商爬虫、生活交流专业网站
  • 官方手机版

  • 微信公众号

  • 商务合作