欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python利用7z批量解壓rar的實(shí)現(xiàn)

系統(tǒng) 1654 0

一開始我使用了rarfile這個庫,奈何對于含有密碼的壓縮包支持不好,在linux上不拋出異常;之后有又嘗試了unrar。。比rarfile還費(fèi)勁。。

所以用了調(diào)用系統(tǒng)命令的方法,用7z來解壓

通過apt可以安裝上7z-full和7z的rar插件

有一個地方要注意 -o 和-p與后面的目錄、密碼之間沒有空格!!

同樣可以用這個代碼暴力破解壓縮包密碼

            
# coding:utf-8 

import os

import zipfile

import traceback

import time

import shutil

import sys,getopt

 

succeedpath=""

unsucceedpath=""

psds={"2018","123456"}

 

 

opts,args=getopt.getopt(sys.argv[1:],"p:")

path=args[0]

for psd in args[1:]:

  psds.add(psd)

#for op,value in opts:

#  if op in ("-p","--password"):

#    psds.add(value)

 

 

def mkdirs(dirpath):

  global succeedpath,unsucceedpath

  succeedpath=os.path.join(dirpath,"0.succeed")

  unsucceedpath=os.path.join(dirpath,"0.unsucceed")

  if(not os.path.exists(succeedpath)):

    os.makedirs(succeedpath)

  if(not os.path.exists(unsucceedpath)):

    os.makedirs(unsucceedpath)

 

def extractdir(path):

  for filename in os.listdir(path):

    filepath=os.path.join(path,filename)

    if(os.path.isfile(filepath)):

      extractfile(filepath)

 

 

def extractfile(path):

  (dirpath,filen)=os.path.split(path)

  print("解壓"+filen+"   ing...")

  try:

    if(filen.endswith(".rar") or filen.endswith(".zip")):

      path=os.path.abspath(path)

      dirpath=os.path.abspath(dirpath)

      cmd="7z x "+path+" -o"+dirpath+" -y "+" -p"

      state=False

      if(os.system(cmd)==0):

        state=True

      else:

        for psd in psds:

          cmdp="7z x "+path+" -p"+psd+" -y "+" -o"+dirpath

          if(os.system(cmdp)==0):

            state=True

            break

    else:

      return

    if (state):

      shutil.move(path,succeedpath)

    else:

      shutil.move(path,unsucceedpath)

      with open(os.path.join(dirpath,"errorinfo.txt"),"a+") as errorinfo:

        errorinfo.write("time:"+str(time.time())+"\n")

        errorinfo.write("解壓出錯!\n可能是密碼錯誤!\n")

  except :

    with open(os.path.join(dirpath,"errorinfo.txt"),"a+") as errorinfo:

      errorinfo.write("time:"+str(time.time())+"\n")

      errorinfo.write("解壓出錯!\n")

      traceback.print_exc(file=errorinfo)

    shutil.move(path,unsucceedpath)

 
if(os.path.isdir(path)):

  dirpath=path

  mkdirs(dirpath)

  extractdir(dirpath)

elif(os.path.isfile(path)):

  filepath=path

  (dirpath,filename)=os.path.split(path)

  mkdirs(dirpath)

  extractfile(path)

else:

  print("輸入錯誤!請重新輸入!")


          

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 中文字幕免费在线观看动作大片 | 天天影院成人免费观看 | 欧美精品日韩一区二区三区 | 免费看的黄网站 | 三级国产精品一区二区 | 亚洲 无码 自拍 欧美 小说 | 亚洲色图第四页 | 国产视频aaa| 亚洲狠狠婷婷综合久久蜜桃 | 婷婷影音| 欧美日本乱大交xxxxx | 成人欧美在线观看 | av在线大全| 欧美不卡一区二区三区在线观看 | 久久99国产伦子精品免费 | 91av大片 | 91华人在线视频 | 香蕉视频在线观看免费国产婷婷 | 亚洲国产欧美91 | 波多久久夜色精品国产 | 亚洲最大福利视频 | www.ouchn.com| 国产精品久久久久久久午夜 | 日本高清中文字幕一区二区三区 | 天天激情 | 午夜大片 | 黑人狂躁日本妞无码A片 | 国产乱色精品成人免费视频 | 欧美顶级毛片在线播放 | 日韩精品在线播放 | 欧美国产视频 | 日本黄页网站免费 | 久草资源 | 午夜视频十八嗯嗯啊免费 | 嘿咻嘿咻免费区在线观看吃奶 | 九九黄色 | 美女在线视频一区二区 | 国产小视频免费在线观看 | 久草新在线 | 91伊人久久 | 午夜精品一区二区三区在线视频 |