python-unzip

#-*- coding: UTF-8 -*- 
#__author__:Bing
#email:amazing_bing@outlook.com

#解壓和重新命名文件,并刪除zip文件或者目錄下的非PDF文件
import os,sys  
import zipfile 

def unzip_dir(file_name = "test",zipfilename="m:\\scan02.zip", unzipdirname="m:\\"):  
    fullzipfilename = os.path.abspath(zipfilename)  
    fullunzipdirname = os.path.abspath(unzipdirname)  
    #if not os.path.exists(fullzipfilename): 
              
    #Start extract files ...  
    try:
      srcZip = zipfile.ZipFile(fullzipfilename, "r")  
      for eachfile in srcZip.namelist():  
          #print "Unzip file %s ..." % eachfile 
          eachfilename = os.path.normpath(os.path.join(fullunzipdirname, '{0}_{1}'.format(file_name,eachfile)))  
          eachdirname = os.path.dirname(eachfilename)
          if eachfile.endswith(".pdf",4):
            fd=open(eachfilename, "wb")  
            fd.write(srcZip.read(eachfile))  
            fd.close()
          else:
            pass 
      srcZip.close()
      return {"status":1}
    except:
      return {"status":0}


unzip_dir()
 
  
def zip_dir(dirname, zipfilename):  
    filelist = []  
    #Check input ...  
    fulldirname = os.path.abspath(dirname)  
    fullzipfilename = os.path.abspath(zipfilename)  
    print "Start to zip %s to %s ..." % (fulldirname, fullzipfilename)  
    if not os.path.exists(fulldirname):  
        print "Dir/File %s is not exist, Press any key to quit..." % fulldirname  
        inputStr = raw_input()  
        return  
    if os.path.isdir(fullzipfilename):  
        tmpbasename = os.path.basename(dirname)  
        fullzipfilename = os.path.normpath(os.path.join(fullzipfilename, tmpbasename))  
    if os.path.exists(fullzipfilename):      
        print "%s has already exist, are you sure to modify it ? [Y/N]" % fullzipfilename  
        while 1:  
            inputStr = raw_input()  
            if inputStr == "N" or inputStr == "n" :  
                return  
            else:  
                if inputStr == "Y" or inputStr == "y" :  
                    print "Continue to zip files..."  
                    break  
  
    #Get file(s) to zip ...  
    if os.path.isfile(dirname):  
        filelist.append(dirname)  
        dirname = os.path.dirname(dirname)  
    else:  
        #get all file in directory  
        for root, dirlist, files in os.walk(dirname):  
            for filename in files:  
                filelist.append(os.path.join(root,filename))  
  
    #Start to zip file ...  
    destZip = zipfile.ZipFile(fullzipfilename, "w")  
    for eachfile in filelist:  
        destfile = eachfile[len(dirname):]  
        print "Zip file %s..." % destfile  
        destZip.write(eachfile, destfile)  
    destZip.close()  
    print "Zip folder succeed!"  




# def download(domain):
#   import urllib2
#   print "downloading with urllib2"
#   url = 'http://scan02.secfuture.com:8081/wvs_scan_getresult/?id=2' 
#   f = urllib2.urlopen(url) 
#   data = f.read() 
#   with open("m:\\{0}.zip".format(domain), "wb") as code:     
#       code.write(data)
#       code.close()


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奄侠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芳誓,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)二鳄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來媒怯,“玉大人订讼,你說我怎么就攤上這事∩劝” “怎么了欺殿?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鳖敷。 經(jīng)常有香客問我脖苏,道長,這世上最難降的妖魔是什么哄陶? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任帆阳,我火速辦了婚禮,結(jié)果婚禮上屋吨,老公的妹妹穿的比我還像新娘蜒谤。我一直安慰自己,他們只是感情好至扰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布鳍徽。 她就那樣靜靜地躺著,像睡著了一般敢课。 火紅的嫁衣襯著肌膚如雪阶祭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天直秆,我揣著相機(jī)與錄音濒募,去河邊找鬼。 笑死圾结,一個(gè)胖子當(dāng)著我的面吹牛瑰剃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播筝野,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晌姚,長吁一口氣:“原來是場噩夢啊……” “哼粤剧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挥唠,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤抵恋,失蹤者是張志新(化名)和其女友劉穎流部,沒想到半個(gè)月后遥金,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缨恒,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡恋博,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袁勺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片儿子。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖腌紧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情畜隶,我是刑警寧澤壁肋,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站籽慢,受9級(jí)特大地震影響浸遗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜箱亿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一跛锌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧届惋,春花似錦髓帽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瘩欺,卻和暖如春必盖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背俱饿。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工歌粥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拍埠。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓失驶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親械拍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子突勇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容