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程序设计有所帮助。