python自动zip压缩目录的方法

本文实例讲述了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自动zip压缩目录的方法 的全部内容, 来源链接: utcz.com/z/350024.html

回到顶部