python自动zip压缩目录的方法
本文实例讲述了python自动zip压缩目录的方法。分享给大家供大家参考。具体实现方法如下:
这段代码来压缩数据库备份文件,没有使用python内置的zip模块,而是使用了zip.exe文件
#Hello,thisscriptiswritteninPython-http://www.python.org
#
#autozip.py1.0p
#
#Thisscriptwillscanadirectory(anditssubdirectories)
#andautomaticallyzipfiles(accordingtotheirextensions).
#
#ThisscriptdoesnotusePythoninternalZIProutines.
#InfoZip'sZIP.EXEmustbepresentinthepath(InfoZipDosversion2.3).
#(zip23x.zipathttp://www.info-zip.org/pub/infozip/)
#
#Eachfilewillbezippedunderthesamename(withthe.zipextension)
#eg.toto.bakwillbezippedtototo.zip
#
#Thisscriptispublicdomain.Feelfreetoreuseit.
#Theauthoris:
#SebastienSAUVAGE
#<sebsauvageatsebsauvagedotnet>
#http://sebsauvage.net
#
#Morequick&dirtyscriptsareavailableathttp://sebsauvage.net/python/
#
#Directorytoscanishardcodedattheendofthescript.
#ExtensionstoZIParehardcodedbelow:
ext_list=['.bak','.trn']
importos.path,string
defautozip(directory):
os.path.walk(directory,walk_callback,'')
defwalk_callback(args,directory,files):
print'Scanning',directory
forfileNameinfiles:
ifos.path.isfile(os.path.join(directory,fileName))andstring.lower(os.path.splitext(fileName)[1])inext_list:
zipMyFile(os.path.join(directory,fileName))
defzipMyFile(fileName):
os.chdir(os.path.dirname(fileName))
zipFilename=os.path.splitext(os.path.basename(fileName))[0]+".zip"
print'Zippingto'+zipFilename
os.system('zip-mj9"'+zipFilename+'""'+fileName+'"')
autozip(r'C:\mydirectory')
print"Alldone."
希望本文所述对大家的Python程序设计有所帮助。