python中如何压缩和解压缩文件

Posted 哪里多

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中如何压缩和解压缩文件相关的知识,希望对你有一定的参考价值。

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

文件解压缩

import os
import glob
import zipfile
 
 
def unzip_file(dir_path):
    # 解压缩后文件的存放路径
    unzip_file_path = r"C:\\Users\\Desktop\\新建文件夹"
    # 找到压缩文件夹
    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:\\Users\\Desktop\\新建文件夹\\*.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:\\Users\\Desktop\\新建文件夹", r"C:\\Users\\Desktop\\压缩" + \'.zip\')

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

以上是关于python中如何压缩和解压缩文件的主要内容,如果未能解决你的问题,请参考以下文章

python怎样压缩和解压缩ZIP文件

python怎样压缩和解压缩ZIP文件

如何在android中压缩和解压缩png图像

python 压缩和解压缩的浅学习

在java中压缩和解压缩7z文件

文件的压缩和解压缩