首先這里是最簡單的將文件壓縮成壓縮文件:

          # ?-*-?coding:utf-8?-*-
          #
          =============================================================================================================
          #
          #
          ???brief???:????制作viruswall?的離線升級數據
          #
          #
          ???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 的方式。。。。。
          posted on 2008-06-26 09:39 -274°C 閱讀(906) 評論(0)  編輯  收藏 所屬分類: python

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 915001
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 舞阳县| 天等县| 新源县| 扬州市| 灵寿县| 浦江县| 耒阳市| 平江县| 泰安市| 双城市| 民丰县| 隆安县| 周口市| 天津市| 错那县| 台前县| 买车| 郴州市| 贡山| 巴彦县| 邵阳市| 贺兰县| 伊春市| 衡阳县| 五家渠市| 新绛县| 资溪县| 阳新县| 淮阳县| 叙永县| 蒙自县| 南丹县| 扶绥县| 德格县| 神农架林区| 南皮县| 湾仔区| 秭归县| 泰来县| 冕宁县| 大冶市|