前言:

在最近的后台开发工作中,需要将服务器的指定文件夹压缩,然后传输到前台。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

pythonshell压缩文件_文件夹压缩成zip格式相关推荐

  1. java 把文件打包成zip文件_java将文件或是文件夹打包压缩成zip格式

    导读热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.io.BufferedInputStream; impo ...

  2. RAR压缩文件如何转换成ZIP格式?

    压缩文件有多种不同的格式,有时候因为需求不同,我们需要把RAR压缩文件转换成ZIP格式,那要如何操作呢?下面小编分享2种简单的方法. 方法一: 如果需要转换的RAR压缩包不是很多,我们可以直接把文件名 ...

  3. php将文件夹打包zip文件,php将文件夹打包成zip文件

    php将文件夹打包成zip文件:function addFileToZip($path,$zip){ $handler=opendir($path); //打开当前文件夹由$path指定. while ...

  4. php 文件夹打包_php将文件夹打包成zip文件

    php将文件夹打包成zip文件:function addFileToZip($path,$zip){ $handler=opendir($path); //打开当前文件夹由$path指定. while ...

  5. Java向将指定文件(含文件列表)或者指定路径下目录打包成zip格式

    Java向将指定文件(含文件列表)或者指定路径下目录打包成zip格式 运行环境 pom依赖 测试方法 测试效果 运行环境 1.springboot 2.2.x 2.maven 3.5.4 pom依赖 ...

  6. python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值

    #!/usr/bin/env python #_*_encoding:utf-8 # 2018/05/29 #augustyang #2.0 ''' 解压文件,合并文件 打包成zip格式文件 生成MD ...

  7. 关于springmvc下服务器文件打包成zip格式下载功能

    关于springmvc下服务器文件打包成zip格式下载功能 2016年09月21日 11:22:14 toxic_guantou 阅读数:5731更多 个人分类: 技术点存储 版权声明:本文为博主原创 ...

  8. php 生成zip并下载,PHP 实现文件打包成zip格式并下载

    PHP 文件打包并下载 有个这样的需求,将多个文件打包成zip格式并下载到本地 可根据 ZipArchive这个类来实现此功能 我自己也研究了一下,然后把搞出来了 ,经测试绝对好用 话不多说直接上代码 ...

  9. 移除添加的文件_文件压缩教程-文件批量压缩

    所用软件:好压 准备工作:确定你的右键菜单有"添加到压缩文件"选项. 如果没有--打开好压,点击顶部的,选项----设置----菜单项目,把"添加到压缩文件...&quo ...

最新文章

  1. 独家 | 融资2.1亿商汤领投,他要用VR+AR解决无人驾驶的路测难题
  2. delphi 企业微信消息机器人_简单用VBS调用企业微信机器人发定时消息的方法
  3. 还在被人脸识别准确率指标欺骗吗?
  4. 顺序栈初始化,判空,进栈,出栈,打印
  5. 形象解释Momentum
  6. android 音频播放总结 soundlPool,MediaPlay
  7. c语言交换两个数字 位运算_交换两个8位数字| 8086微处理器
  8. Kali Linux 从入门到精通(五)-测试环境准备
  9. linux 多线程并行计算,Linux下使用POSIX Thread作多核多线程并行计算
  10. 一些意想不到的bug
  11. 《深度学习》李宏毅 -- task5网络技巧设计
  12. Ubuntu16.04安装WPS(个人记录)
  13. python如何使用sdk_如何通过Python访问Kvaser CANlib 软件开发包|Kvaser CANlib SDK的应用...
  14. 【考题·习题详解】数论知识+数学推导
  15. 计算机驱动器程序,打开计算机CD驱动器的位置
  16. IT软件下载地址大全
  17. 台式计算机怎么设置,台式电脑怎么设置声音
  18. 集团信息化“润物细无声”
  19. Java中double类型输出小数点后两位
  20. All about Datacenter Networking Interconnection 数据中心网络互联

热门文章

  1. Unity3d实现的十字路口的模拟(五)
  2. 流处理系统(Flink, Kafka和Pravega)学习笔记
  3. MavSDKMavros学习笔记
  4. www.folou.com/index.php,ExpressWechat/index.php at master · Gimhoy/ExpressWechat · GitHub
  5. aptio设置全中文_中文bios设置方法图解教程(超简单)
  6. aix java解压,AIX 7.1 jar unzip解压报错问题解决
  7. 【mysql】--explain命令解析
  8. springboot基于微信小程序的选课系统毕业设计源码060000
  9. android studio中注解处理器的调试配置
  10. 微信小程序开发笔记二(WXSS和CSS样式美化)