码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-06-19 11:57:42      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:文件的   zip   blog   replace   ret   label   file   ram   close   

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

文件解压缩

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中如何压缩和解压缩文件

标签:文件的   zip   blog   replace   ret   label   file   ram   close   

原文地址:https://www.cnblogs.com/lnd-blog/p/13162132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!