zoukankan      html  css  js  c++  java
  • python中如何压缩和解压缩文件

    在实际的业务开发中会经常遇到对文件进行相关的操作,比如新建文件夹或文件,移动、删除文件夹或文件,文件的压缩与解压缩等等!!下面就其中的压缩与解压缩进行代码演示!

    文件解压缩

    import os
    import glob
    import zipfile
     
     
    def unzip_file(dir_path):
        # 解压缩后文件的存放路径
        unzip_file_path = r"C:UsersDesktop新建文件夹"
        # 找到压缩文件夹
        dir_list = glob.glob(dir_path)
        if dir_list:
            # 循环zip文件夹
            for dir_zip in dir_list:
                # 以读的方式打开
                with zipfile.ZipFile(dir_zip, 'r') as f:
                    for file in f.namelist():
                        f.extract(file, path=unzip_file_path)
                os.remove(dir_zip)
     
     
    unzip_file(r"C:UsersDesktop新建文件夹*.zip")
     
    # 这儿的 dir_path 只是其中的一种路径处理方式,可以根据自己的需求行进实际操作

    文件压缩

    只压缩目标目录下的文件夹(空文件夹不压缩)及文件

    import os
    import zipfile
     
     
    def zip_dir(dir_path, zip_path):
        '''
         
        :param dir_path: 目标文件夹路径
        :param zip_path: 压缩后的文件夹路径
        :return: 
        '''
        zip = zipfile.ZipFile(zip_path, "w", zipfile.ZIP_DEFLATED)
        for root, dirnames, filenames in os.walk(dir_path):
            file_path = root.replace(dir_path, '')  # 去掉根路径,只对目标文件夹下的文件及文件夹进行压缩
            # 循环出一个个文件名
            for filename in filenames:
                zip.write(os.path.join(root, filename), os.path.join(file_path, filename))
        zip.close()
     
     
    zip_dir(r"C:UsersDesktop新建文件夹", r"C:UsersDesktop压缩" + '.zip')

    参考:https://www.cnblogs.com/rongge95500/p/11271764.html#_label0

  • 相关阅读:
    Notepad++
    pycharm
    pygame游戏开发-简介
    白月黑羽Python在线教程
    Selenium Web自动化 原理
    Web自动化
    Web自动化
    转:Android开发环境搭建
    Android系统架构说明介绍
    Enjoy Android
  • 原文地址:https://www.cnblogs.com/lnd-blog/p/13162132.html
Copyright © 2011-2022 走看看