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 相关文章推荐
python批量修改文件后缀示例代码分享
Dec 24 Python
Python中用pycurl监控http响应时间脚本分享
Feb 02 Python
举例详解Python中yield生成器的用法
Aug 05 Python
python中sys.argv函数精简概括
Jul 08 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 Python
Python matplotlib画图与中文设置操作实例分析
Apr 23 Python
在PYQT5中QscrollArea(滚动条)的使用方法
Jun 14 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
Aug 07 Python
python 制作一个gui界面的翻译工具
May 14 Python
PyQt5实现多张图片显示并滚动
Jun 11 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
php下载远程文件类(支持断点续传)
2008/11/14 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
jquery动态增加删除表格行的小例子
2013/11/14 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
2019/03/13 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
python多线程用法实例详解
2015/01/15 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
python3 求约数的实例
2019/12/05 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
一些Solaris面试题
2013/03/22 面试题
企业申诉管理制度
2014/01/30 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
助学感谢信范文
2015/01/21 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript