python自动zip压缩目录的方法


Posted in Python onJune 28, 2015

本文实例讲述了python自动zip压缩目录的方法。分享给大家供大家参考。具体实现方法如下:

这段代码来压缩数据库备份文件,没有使用python内置的zip模块,而是使用了zip.exe文件

# Hello, this script is written in Python - http://www.python.org
#
# autozip.py 1.0p
#
# This script will scan a directory (and its subdirectories)
# and automatically zip files (according to their extensions).
#
# This script does not use Python internal ZIP routines.
# InfoZip's ZIP.EXE must be present in the path (InfoZip Dos version 2.3).
# (zip23x.zip at http://www.info-zip.org/pub/infozip/)
#
# Each file will be zipped under the same name (with the .zip extension)
# eg. toto.bak will be zipped to toto.zip
#
# This script is public domain. Feel free to reuse it.
# The author is:
#    Sebastien SAUVAGE
#    <sebsauvage at sebsauvage dot net>
#    http://sebsauvage.net
#
# More quick & dirty scripts are available at http://sebsauvage.net/python/
#
# Directory to scan is hardcoded at the end of the script.
# Extensions to ZIP are hardcoded below:
ext_list = ['.bak','.trn']
import os.path, string
def autozip( directory ):
  os.path.walk(directory,walk_callback,'')
def walk_callback(args,directory,files):
  print 'Scanning',directory
  for fileName in files:
    if os.path.isfile(os.path.join(directory,fileName)) and string.lower(os.path.splitext(fileName)[1]) in ext_list:
      zipMyFile ( os.path.join(directory,fileName) )
def zipMyFile ( fileName ):
  os.chdir( os.path.dirname(fileName) )
  zipFilename = os.path.splitext(os.path.basename(fileName))[0]+".zip"
  print ' Zipping to '+ zipFilename
  os.system('zip -mj9 "'+zipFilename+'" "'+fileName+'"')
autozip( r'C:\mydirectory' )
print "All done."

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Django自定义认证方式用法示例
Jun 23 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
python发送告警邮件脚本
Sep 17 Python
Python从单元素字典中获取key和value的实例
Dec 31 Python
python3利用ctypes传入一个字符串类型的列表方法
Feb 12 Python
python 协程 gevent原理与用法分析
Nov 22 Python
pandas实现DataFrame显示最大行列,不省略显示实例
Dec 26 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
python正则表达式re.match()匹配多个字符方法的实现
Jan 27 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
Feb 01 Python
python查找指定具有相同内容文件的方法
Jun 28 #Python
python中getaddrinfo()基本用法实例分析
Jun 28 #Python
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
Jun 28 #Python
分析用Python脚本关闭文件操作的机制
Jun 28 #Python
python实现linux下使用xcopy的方法
Jun 28 #Python
自动化Nginx服务器的反向代理的配置方法
Jun 28 #Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 #Python
You might like
漂亮但不安全的CTB
2006/10/09 PHP
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
PHP与SQL注入攻击[三]
2007/04/17 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
jquery tools系列 expose 学习
2009/09/06 Javascript
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
Python实现一个简单的MySQL类
2015/01/07 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
python实现简单成绩录入系统
2019/09/19 Python
Python ORM编程基础示例
2020/02/02 Python
Java程序开发中如何应用线程
2016/03/03 面试题
保安员岗位职责
2013/11/17 职场文书
《兰亭集序》教学反思
2014/02/11 职场文书
《再见了,亲人》教学反思
2014/02/26 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
初中军训感想300字
2014/03/05 职场文书
企业法人代表任命书
2014/06/06 职场文书
MySQL分库分表详情
2021/09/25 MySQL
ICOM R71E和R72E图文对比解说
2022/04/07 无线电