欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 亚洲国产精品热久久2022 | 日日干天天 | 男人午夜免费视频 | 欧美日韩不卡在线 | 亚洲一级毛片免费看 | naruto henta| 嫩嫩草网站| 亚洲 中文 欧美 日韩 在线观看 | 一级片免费 | 免费国产一区 | 四虎福利 | 日韩在线不卡视频 | 久久草在线视频免费 | 日本久久高清视频 | 亚洲免费三区 | 黄色片免费在线播放 | 欧美一级成人免费大片 | 国产偷国产偷亚洲高清在线 | 欧美在线一区二区三区 | 亚洲日韩精品AV无码富二代 | 波多野结衣一区2区3区 | 在线不卡视频 | 亚洲人成在线播放 | 日韩aⅴ一区二区三区 | 激情毛片 | 欧美人两个人激情的免费视频 | 国产亚洲福利 | 国内精品易阳在线播放国产 | 免费xx视频| 欧美日本在线播放 | 色呦呦免费观看 | dy天堂| 欧美—级v免费大片 | 日韩精品 电影一区 亚洲 | 亚洲一区播放 | 九九热线有精品视频99 | 精品一区二区三区免费视频 | 一级毛片,一级毛片 | 欧美日韩一区二区在线 | 一级做a爰性视频 | 婷婷激情五月综合 |