最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年08月07日 09:16:24   作者:MaxZheng2018  
這篇文章主要介紹了python利用7z批量解壓rar的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

所以用了調(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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 對輸入的數(shù)字進行排序的方法

    Python 對輸入的數(shù)字進行排序的方法

    今天小編就為大家分享一篇Python 對輸入的數(shù)字進行排序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python實現(xiàn)圖片篩選程序

    python實現(xiàn)圖片篩選程序

    這篇文章主要為大家詳細介紹了python實現(xiàn)圖片篩選程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Python 的 Socket 編程

    Python 的 Socket 編程

    這篇文章最初發(fā)布的時候標題是“Python的WebSocket編程”,坦白來說有點文不對題。我們在這里打算討論的僅僅是常規(guī)的socket編程。盡管 Web Socket 和常規(guī)sockets有點很相似,但又不是同一個東西。那我還是希望這篇文章對你們有點幫助。
    2015-03-03
  • 關(guān)于你不想知道的所有Python3 unicode特性

    關(guān)于你不想知道的所有Python3 unicode特性

    我的讀者知道我是一個喜歡痛罵Python3 unicode的人。這次也不例外。我將會告訴你用unicode有多痛苦和為什么我不能閉嘴。我花了兩周時間研究Python3,我需要發(fā)泄我的失望。在這些責罵中,仍然有有用的信息,因為它教我們?nèi)绾蝸硖幚鞵ython3。如果沒有被我煩到,就讀一讀吧
    2014-11-11
  • 讓你Python到很爽的加速遞歸函數(shù)的裝飾器

    讓你Python到很爽的加速遞歸函數(shù)的裝飾器

    這篇文章主要介紹了讓你Python到很爽的加速遞歸函數(shù)的裝飾器,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • python性能測試對手機號綁定進行壓測

    python性能測試對手機號綁定進行壓測

    這篇文章主要為大家介紹了python性能測試對手機號綁定進行壓測示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Python Multinomial Naive Bayes多項貝葉斯模型實現(xiàn)原理介紹

    Python Multinomial Naive Bayes多項貝葉斯模型實現(xiàn)原理介紹

    這篇文章主要介紹了Python Multinomial Naive Bayes多項貝葉斯模型實現(xiàn)原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-09-09
  • 無需壓縮軟件,用python幫你操作壓縮包

    無需壓縮軟件,用python幫你操作壓縮包

    這篇文章主要介紹了如何用python幫你操作壓縮包,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • Jupyter notebook遠程訪問服務(wù)器的方法

    Jupyter notebook遠程訪問服務(wù)器的方法

    今天小編就為大家分享一篇Jupyter notebook遠程訪問服務(wù)器的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 淺談Django REST Framework限速

    淺談Django REST Framework限速

    這篇文章主要介紹了淺談Django REST Framework限速,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12

最新評論

方城县| 上虞市| 溧阳市| 凤冈县| 中方县| 老河口市| 南和县| 永春县| 新绛县| 长垣县| 临夏市| 确山县| 尤溪县| 隆子县| 济源市| 凤山县| 家居| 樟树市| 河池市| 湘阴县| 女性| 巴彦淖尔市| 探索| 金湖县| 延安市| 长治市| 昂仁县| 天台县| 太谷县| 东光县| 夏河县| 咸丰县| 余姚市| 博乐市| 朝阳区| 三原县| 苗栗县| 习水县| 禹城市| 无锡市| 赤水市|