美文网首页
文件夹压缩成zip格式

文件夹压缩成zip格式

作者: white_study | 来源:发表于2018-12-29 20:58 被阅读0次
前言:

在最近的后台开发工作中,需要将服务器的指定文件夹压缩,然后传输到前台。shell的zip命令可以很方便的实现该需求,python也有对应的模块,这里简要记录一下使用两种方式压缩文件的方法。

shell命令压缩
def zip_file(dir_path, out_path):
    # 先切换到要压缩的的文件目录下,然后再压缩文件,防止压缩的文件出现深层次的文件目录
    zip_shell = """
        #!/bin/bash
        cd {dir_path} && zip  -r {out_path} *
    """
    try:
        result = os.popen(zip_shell.format(out_path=out_path, dir_path=dir_path)).read()

        if result.lower().find("zip error") != -1: # 表示出错
            logger.error(result)
            return None
        else:
            return out_path
    except Exception as e:
        logger.error(u"压缩文件失败:{}".format(e.message))
        logger.error(traceback.format_exc())
        return None
python的zipfile模块压缩
def zip_dir(dir_path, out_path):
    """
    :brief 将目标文件夹压缩为zip格式
    :param dir_path: 目标文件夹路径
    :param out_path: 压缩文件路径(xxx.zip)
    :return: 压缩文件路径
    """
    try:
        zip_obj = zipfile.ZipFile(out_path, "w", zipfile.ZIP_DEFLATED)
        for path, dir_names, file_names in os.walk(dir_path):
            # 去掉目标跟路径,只对目标文件夹下边的文件及文件夹进行压缩
            fpath = path.replace(dir_path, '')
            for filename in file_names:
                zip_obj.write(os.path.join(path, filename), os.path.join(fpath, filename))
        zip_obj.close()

        return out_path
    except Exception as e:
        logger.error(u"压缩文件失败:{}".format(e.message))
        logger.error(traceback.format_exc())
        return None

相关文章

  • 压缩与解压

    .sh 解压.sh文件 or在该文件夹下 zip 压缩成zip 解压zip tar 压缩成tar 解压tar ta...

  • 文件夹压缩成zip格式

    前言: 在最近的后台开发工作中,需要将服务器的指定文件夹压缩,然后传输到前台。shell的zip命令可以很方便的实...

  • Linux常用命令

    zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文...

  • Linux解压缩命令

    常用的压缩格式: .zip格式压缩:linux和windows中的zip格式可以通用 压缩文件夹: 解压缩: 删除...

  • 文件夹压缩成zip

    import zipfile import os def zip_ya(startdir, file_news):...

  • zip压缩与解压缩

    zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。 我想把一个文件abc.t...

  • zip命令可以用来将文件压缩成为常用的zip格式

    zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。 我想把一个文件abc.t...

  • golang文件的压缩与解压

    判断是否是zip文件 解压缩zip文件 压缩成zip文件

  • 2019-10-12 python读取zip压缩文件的csv文件

    csv文件大的时候,可以压缩成zip格式,而后用Python的zipfile模块和pandas模块进行读取。 参考...

  • Linux基础04

    Linux压缩命令 .zip格式压缩 实例:压缩文件 zip 压缩文件名 原文件 实例:压缩文件夹 zip -r ...

网友评论

      本文标题:文件夹压缩成zip格式

      本文链接:https://www.haomeiwen.com/subject/fzaplqtx.html