python 压缩文件(1)
生活随笔
收集整理的這篇文章主要介紹了
python 压缩文件(1)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
首先這里是最簡單的將文件壓縮成壓縮文件:
# ?-*-?coding:utf-8?-*-# =============================================================================================================
#
# ???brief???:????制作viruswall?的離線升級數(shù)據(jù)
#
# ???author??:????hechangmin
#
# ???date????:????2008.6?
#
# =============================================================================================================
import ?os
import ?threading,?zipfile
class ?AsyncZip(threading.Thread):
????
???? def ? __init__ (self,?infile,?outfile):
????????threading.Thread. __init__ (self)????????
????????self.infile? = ?infile
????????self.outfile? = ?outfile
???? def ?run(self):
????????state? = ? ' w '
???????? if ?os.path.isfile(self.outfile)? == ?True:
????????????state? = ? ' a '
????????f? = ?zipfile.ZipFile(self.outfile,?state,?zipfile.ZIP_DEFLATED)
????????f.write(self.infile)
????????f.close()
???????? print ? ' Finished?background?zip?of:? ' ,?self.infile
????????
def ?zipDir(src,dst):
????
????initPath? = ?os.getcwd()
????
????tempDST? = ??os.path.join(os.getcwd(),dst)
????tempSRC? = ??os.path.join(os.getcwd(),src)
????os.chdir(?tempSRC?)
????files? = ?os.listdir(os.curdir)
???? print ?files
???? for ?file? in ?files:
????????background? = ?AsyncZip(file,dst)
????????background.start()
????????background.join()???? # ?Wait?for?the?background?task?to?finish
????????
????os.chdir(?initPath?)
???? print ?os.getcwd()
# test?ok
if ? __name__ ? == ? ' __main__ ' :
????
????zipDir( " D:\\AutoUpdate\\DataDist\\viruswall\\Data\\KSVW-VirusDB\\ " , " d:\\AutoUpdate\\DataDist\\viruswall\\Data\\update\\KSVW-VirusDB.tgz " )
????
顯然這里壓縮成功了,但是壓縮采用的是zip算法。
還希望是采用 tar+ GZIP 的方式。。。。。
轉(zhuǎn)載于:https://www.cnblogs.com/soft115/archive/2011/08/10/2134092.html
總結(jié)
以上是生活随笔為你收集整理的python 压缩文件(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android中的5个布局方式
- 下一篇: JAVA编程语言的基础知识(六)