成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 用python批量解壓帶密碼的壓縮包

用python批量解壓帶密碼的壓縮包

熱門標簽:北瀚ai電銷機器人官網手機版 小蘇云呼電話機器人 北京電銷外呼系統(tǒng)加盟 市場上的電銷機器人 佛山400電話辦理 地圖標注面積 所得系統(tǒng)電梯怎樣主板設置外呼 朝陽手機外呼系統(tǒng) 儋州電話機器人

項目地址:

https://github.com/Mario-Hero/toolUnRar

環(huán)境需求

  • Windows系統(tǒng)
  • Python 3
  • 對于解壓RAR文件,需要安裝WinRAR
  • 對于解壓7z/zip等其他7-Zip支持解壓的文件,需要安裝7-Zip

用法 Usage

直接拖入文件夾或壓縮文件即可批量解壓縮包含密碼的壓縮文件。如果拖入的是文件夾,則會把該文件夾下的壓縮文件解壓縮,但不進入下一級目錄。通過設置PASSWD來設置字典,通過設置DELETEIT來設置解壓后是否刪除被成功解壓的壓縮文件。本腳本會通過文件的后綴識別該文件是否為壓縮文件。

你可以把WinRAR目錄下的Unrar.exe和7-Zip目錄下的7z.exe直接復制到這個toolUnRar.py文件的相同目錄下,這樣就可以攜帶使用了。

參數 Parameters

  • PASSWD = ["hello","123456"] :你的密碼本,該腳本會從這個數組中不斷試驗密碼來解壓縮,直到成功為止。
  • DELETEIT :一個危險的參數。為真時,該腳本會直接刪除成功解壓的壓縮文件。為假則不會刪除。
  • LOC_WINRAR = "C:\Program Files\WinRAR\" 你的WinRAR安裝位置。就算這個變量的設置的不對,該程序也會在可能的位置來尋找對應的程序。
  • LOC_7Z:7-Zip的安裝位置。
  • SAVE_MODE = True:如果該腳本無法通過后綴判斷這是不是壓縮文件,則不對該文件進行操作。

完整代碼

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

# Created by Mario Chen, 04.04.2021, Shenzhen
# My Github site: https://github.com/Mario-Hero

import sys
import os
import subprocess

# you can change it >>>>>

PASSWD     = ["123456","hello"]  # the possible passwords
DELETEIT   = False                                     # DANGER!! If it is True,will delete rar file after extraction
LOC_WINRAR = "C:\\Program Files\\WinRAR\\"              # location of WinRAR
LOC_7Z     = "C:\\Program Files\\7-Zip\\"               # location of 7-Zip
SAVE_MODE  = True                                       # if the suffix of file doesn't look like a compressed file, then do nothing with it.

#  you can change it


PROGRAM_RAR  = "UnRAR.exe" # the program we use
PROGRAM_7Z   = "7z.exe"    # the program we use
LOC_S_WINRAR = ["C:\\Program Files\\WinRAR\\","C:\\Program Files (x86)\\WinRAR\\","./",""] # some possible locations of WinRAR
LOC_S_7Z     = ["C:\\Program Files\\7-Zip\\","C:\\Program Files (x86)\\7-Zip\\","./",""]   # some possible locations of 7-Zip
RAR_FILE     = ["rar","zip","7z","tar","gz","xz","bzip2","gzip","wim","arj","cab","chm","cpio","cramfs","deb","dmg","fat","hfs","iso","lzh","lzma","mbr","msi","nsis","ntfs","rpm","squashfs","udf","vhd","xar","z"]
NOT_RAR_FILE = ["jpg","exe","png","mkv","mp4","mp3","avi","mov","jpeg","wav","gif","mpeg","webp","txt","doc","docx","ppt","pptx","xls","xlsx","html","wps","torrent","swf","bmp","crdownload","xltd","downloading"]
ENABLE_RAR = False         # initial state only
ENABLE_7Z = False          # initial state only

# for guessing >>>
GUESS_FLAG_INIT     = ["密碼", "碼", "password", "Password"]    #0
GUESS_FLAG_START_1  = [":", ":"]                            #1
GUESS_FLAG_START_2  = ["是", "為", "is", "are"," "]          #1
GUESS_FLAG_END      = ["\n","   "]                           #2
GUESS_FLAG_DIVIDE   = ["或是", "或", " or "]                 #3
#  for guessing


def guessWDComment(comment):
    guess_flag = 0
    guess_wd: list[str] = []
    guess_ps = 0
    cutIn = 0
    cutOut = 0
    while True:
        if guess_flag == 0:
            guess_newPs = len(comment)
            guess_len = 0
            for initStr in GUESS_FLAG_INIT:
                ps_temp = comment.find(initStr, guess_ps)
                if ps_temp == -1:
                    continue
                else:
                    if ps_tempguess_newPs:
                        guess_newPs = ps_temp
                        guess_len = len(initStr)
            if guess_newPs == len(comment):
                if not guess_wd:
                    cutIn = 0
                    cutOut = len(comment)
                    guess_flag = 3
                else:
                    break
            else:
                guess_ps = guess_newPs + guess_len
                guess_flag = 1
        elif guess_flag == 1:
            found_temp = False
            found_temp_2 = False
            guess_newPs = len(comment)
            for startStr in GUESS_FLAG_START_1:
                ps_temp = comment.find(startStr, guess_ps, guess_ps + 20)
                if ps_temp == -1:
                    continue
                else:
                    if ps_temp  guess_newPs:
                        found_temp = True
                        guess_newPs = ps_temp + len(startStr)
                        guess_flag = 2
            if found_temp:
                guess_ps = guess_newPs
                cutIn = guess_ps
                continue
            else:
                guess_newPs = len(comment)
                for startStr in GUESS_FLAG_START_2:
                    ps_temp = comment.find(startStr, guess_ps, guess_ps + 20)
                    if ps_temp == -1:
                        continue
                    else:
                        if ps_temp  guess_newPs:
                            found_temp_2 = True
                            guess_newPs = ps_temp + len(startStr)
                            guess_flag = 2
            if found_temp_2:
                guess_ps = guess_newPs
            cutIn = guess_ps
            guess_flag = 2
        elif guess_flag == 2:
            guess_newPs = len(comment)
            for endStr in GUESS_FLAG_END:
                ps_temp = comment.find(endStr, guess_ps)
                if ps_temp == -1:
                    continue
                else:
                    if ps_temp  guess_newPs:
                        guess_newPs = ps_temp
            guess_ps = guess_newPs
            guess_flag = 3
            cutOut = guess_ps
        elif guess_flag == 3:
            found_cut_temp = False
            for divideStr in GUESS_FLAG_DIVIDE:
                if comment.find(divideStr, cutIn, cutOut) != -1:
                    found_cut_temp = True
                    for wd in comment[cutIn:cutOut].split(divideStr):
                        guess_wd.append(wd.strip())
                    break
            if not found_cut_temp:
                guess_wd.append(comment[cutIn:cutOut].strip())
            guess_flag = 0
        else:
            guess_flag = 0
    return guess_wd


def isCompressedFile(file):
    file = file.lower()
    for rar in RAR_FILE:
        if file.endswith("." + rar):
            return True
    for media in NOT_RAR_FILE:
        if file.endswith("." + media):
            return False
    return not SAVE_MODE


def utfIsNumber(uchar):
    return uchar >= u'\u0030' and uchar=u'\u0039'


def winRarDo(folder, file, wd):
    extractStr = " x -y -p" + wd + " \"" + folder + "\\" + file + "\" \"" + folder + "\\\""
    extM = subprocess.call("@\""+LOC_WINRAR+PROGRAM_RAR+"\""+extractStr,shell=True)     
    if extM == 1:    # not rar file
        return 2
    elif extM == 11: # wrong password
        return 1
    elif extM != 0:  # error
        return 1
    else:
        return 0


def z7Do(folder, file, wd):
    extractStr = " x -y -p" + wd + " \"" + folder + "\\" + file + "\" -o\"" + folder + "\\\"" 
    extM = subprocess.call("@\""+LOC_7Z+PROGRAM_7Z+"\""+extractStr,shell=True)
    if extM !=0: # error
        return 1
    else:
        return 0


def unrarFile(folder, file):
    successThisFile = False
    fileNameEncrypted = True
    if not folder:
        cutPos = file.rindex("\\")
        folder = file[:cutPos]
        file = file[cutPos+1:]
        #print(folder)
        #print(file)
    if ENABLE_RAR and file.endswith(".rar"):
        winRarReturn = winRarDo(folder, file, PASSWD[0])
        #print(winRarReturn)
        if winRarReturn == 0:
            #successThisFile = True
            return True
        elif winRarReturn == 2:
            pass
        else:
            getCommentStr = " l -p0 -z" + " \"" + folder + "\\" + file + "\""
            commentNumber = subprocess.call("@\""+LOC_WINRAR+PROGRAM_RAR+"\""+getCommentStr,shell=True)
            #commentNumber = 1
            if commentNumber == 0:
                commentM = subprocess.getstatusoutput("@\""+LOC_WINRAR+PROGRAM_RAR+"\""+getCommentStr)
                if commentM[0] == 0:
                    fileNameEncrypted = False
                    comment = commentM[1][(commentM[1].index("\n\n")+2):commentM[1].index(folder)]
                    comment = comment[0:comment.rindex("\n\n")]
                    #print(comment)
                    if comment:
                        wdArray = guessWDComment(comment)
                        print("Possible passwords:", wdArray)
                        for wd in wdArray:
                            winRarReturn = winRarDo(folder, file, wd)
                            if winRarReturn == 1:
                                continue
                            elif winRarReturn == 0:
                                successThisFile = True
                                break
                            elif winRarReturn == 2:
                                break
                            else:
                                break
            if successThisFile:
                return True
            for index in range(1,len(PASSWD)):
                winRarReturn = winRarDo(folder, file, PASSWD[index])
                if winRarReturn == 1:
                    continue
                elif winRarReturn == 0:
                    successThisFile = True
                    PASSWD[0],PASSWD[index]=PASSWD[index],PASSWD[0]
                    break
                elif winRarReturn == 2:
                    break
                else:
                    break
            
    if not successThisFile:
        if ENABLE_7Z:
            for index in range(len(PASSWD)):
                z7Return = z7Do(folder, file, PASSWD[index])
                if z7Return == 1:
                    continue
                else:
                    successThisFile = True
                    PASSWD[0],PASSWD[index]=PASSWD[index],PASSWD[0]
                    break
                     
    if not successThisFile: 
        print("Failed:"+file)
    return successThisFile


def unrar(folder):
    if os.path.isdir(folder):
        print(folder)
        file_list = os.listdir(folder)
        for file in file_list:
            if os.path.isdir(folder + "/" + file):
                #print(folder +"/"+ file)
                #unrar(folder +"/"+file)
                pass
            else:
                if isCompressedFile(file):
                    if unrarFile(folder, file):
                        if DELETEIT:
                            os.remove(folder + "/" + file)
    else:
        if isCompressedFile(folder):
            if unrarFile("", folder):
                if DELETEIT:
                    os.remove(folder)
                  

if __name__ == '__main__':
    if len(sys.argv) = 1:
        sys.exit(1)
    testRar = os.popen("\""+LOC_WINRAR+PROGRAM_RAR+"\"").read()    
    if not testRar:
       for loc in LOC_S_WINRAR:
           testRar = os.popen("\""+loc+PROGRAM_RAR+"\"").read()
           if testRar:
               LOC_WINRAR = loc
               ENABLE_RAR = True
               break
    else:
        ENABLE_RAR = True

    test7z = os.popen("\""+LOC_7Z+PROGRAM_7Z+"\"").read()    
    if not test7z:
       for loc in LOC_S_7Z:
           test7z = os.popen("\""+loc+PROGRAM_7Z+"\"").read()
           if test7z:
               LOC_7Z = loc
               ENABLE_7Z = True
               break
    else:
        ENABLE_7Z = True

    if (not ENABLE_RAR) and (not ENABLE_7Z):
        print("Cannot find winRAR and 7-zip")
        sys.exit(1)
    while len(PASSWD)  2:
        PASSWD.append("0")   
    for folder in sys.argv[1:]:
        #print(folder)
        unrar(folder)
    print("Finish.")
    #subprocess.call("pause",shell=True)
    sys.exit(0)

以上就是用python批量解壓帶密碼的壓縮包的詳細內容,更多關于python批量解壓壓縮包的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 使用 Python 破解壓縮文件的密碼的思路詳解
  • Python3壓縮和解壓縮實現代碼
  • python解壓zip包中文亂碼解決方法
  • Python在后臺自動解壓各種壓縮文件的實現方法
  • python 實現壓縮和解壓縮的示例
  • Python實現加密的RAR文件解壓的方法(密碼已知)
  • Python實現文件壓縮和解壓的示例代碼
  • Python腳本破解壓縮文件口令實例教程(zipfile)
  • 文件上傳服務器-jupyter 中python解壓及壓縮方式
  • Python解壓 rar、zip、tar文件的方法
  • python批量解壓zip文件的方法

標簽:云南 龍巖 酒泉 江蘇 定西 商丘 寧夏 金融催收

巨人網絡通訊聲明:本文標題《用python批量解壓帶密碼的壓縮包》,本文關鍵詞  用,python,批量,解壓,帶,密碼,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用python批量解壓帶密碼的壓縮包》相關的同類信息!
  • 本頁收集關于用python批量解壓帶密碼的壓縮包的相關信息資訊供網民參考!
  • 推薦文章
    啦啦啦在线视频免费观看高清中文| 成人激情视频网站| 亚洲欧美另类中文字幕| 国产精品综合av一区二区国产馆| 超碰成人免费| 欧美日韩在线观看一区二区| 国产 国语对白 露脸| 亚洲免费电影在线观看| 久热中文字幕在线精品免费| 夜夜嗨一区二区三区| 国产精品一级黄片| 精品乱子伦一区二区三区| 激情视频在线观看一区二区三区| 男人天堂av片| av电影在线观看完整版一区二区| 曰本一区二区三区视频| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲自拍三区| 亚洲精选一区二区三区| 国产美女在线看| 国产一区二区三区18| 亚洲丝袜制服诱惑| 精品精品精品| 亚洲精品中文字幕在线播放| 91精品久久久久久久91蜜桃| 美美哒免费高清在线观看视频一区二区| 国产在线不卡一卡二卡三卡四卡| 国产在线视频91| 欧美在线观看视频网站| 国产精品羞羞答答在线| 国产又爽又黄ai换脸| 久久精品国产一区二区三区肥胖| 欧美高清视频看片在线观看| 久久成人国产精品| 亚洲精品tv久久久久久久久| 午夜精品三级久久久有码| 粉嫩欧美一区二区三区高清影视| 亚洲黄网站在线观看| 国产一区二区高清| 久久韩剧网电视剧| 最近中文字幕在线观看| 亚洲天堂在线视频观看| 国产精品久久久久久久7电影| 99在线视频精品| 超清av在线| а天堂8中文最新版在线官网| 成人免费看的视频| 亚洲三级中文字幕| 亚洲精品91| 国产在线观看成人| 欧美大香线蕉线伊人久久国产精品| 直接看的黄色网址| 欧美图片一区二区| mm1313亚洲国产精品美女| 日韩在线精品| 各处沟厕大尺度偷拍女厕嘘嘘| 欧美黄色激情视频| 青娱乐国产盛宴| 色综合天天做天天爱| 美女网站视频一区| 国产精品99久久免费观看| 天堂a√中文在线| 4438欧美| 国产精品视频中文字幕91| 国产91精品青草社区| 久久久久97国产| 精品一区二区在线免费观看| 日韩精品在线视频美女| 69av亚洲| 国产视频一区在线播放| 日韩在线 中文字幕| 日韩一区二区三区在线播放| 2020国产精品极品色在线观看| 激情图片qvod| 天堂蜜桃91精品| 99精品视频播放| 国产资源在线播放| 日韩电影不卡一区| 日韩精品一区二区三区蜜臀| 久久亚洲欧美日韩精品专区| 欧美寡妇偷汉性猛交| 日本视频久久久| 亚洲精品久久久久久久久久| 区一区二视频| 精品国产91久久久| 欧美爱爱免费视频| 两个人日本在线观看视频| 国产精品欧美激情在线| 婷婷婷国产在线视频| 成人一区二区三区视频| 日韩久久久久久久久| 国产欧美综合色| 日韩在线观看视频网站| 亚洲av成人片无码| 韩国成人漫画| 亚洲永久精品ww.7491进入| 日韩av网址在线| 久久精品成人欧美大片古装| 免费人成自慰网站| 亚洲人成在线观看网站高清| 国产内射老熟女aaaa| 国产午夜精品全部视频在线播放| 91精品亚洲一区在线观看| 亚洲一区欧美一区| 亚洲综合久久久久| 久久视频一区二区| 中文字幕乱码久久午夜不卡| gogogo影视剧免费观看在线观看| 囯产精品久久久久久| 国产精品4hu.www| 久久资源免费视频| 欧美男人天堂| 免费观看亚洲视频| 国产综合18久久久久久| 91亚洲精品久久久久久久久久久久| 大桥未久av一区二区三区| 欧美一区二区三区精美影视| 激情五月色综合国产精品| 性金发美女69hd大尺寸| 中文字幕日韩av资源站| 欧美最猛性xxxxx亚洲精品| 久久超碰亚洲| 精华区一区二区三区| 在线免费观看成人短视频| 777奇米四色成人影色区| 中文字幕乱在线伦视频中文字幕乱码在线| 亚洲最大福利视频网| 精品久久久久久中文字幕2017| 色婷婷av一区二区三区之红樱桃| 国产超碰精品| 久久久久久91亚洲精品中文字幕| 亚洲奶水xxxx哺乳期| 成人久久一区二区三区| 四虎1515hh.com| 99国产精品免费视频观看| 伊人精品成人久久综合软件| 香港日本韩国三级| 男女性色大片免费观看一区二区| 成人激情文学综合网| 亚洲熟妇无码av| 麻豆视频在线观看| 懂色av蜜臀av粉嫩av永久| 精品国产99久久久久久宅男i| 国产美女特级嫩嫩嫩bbb片| 国产www免费观看| www污污网站在线看| 性生活在线视频| 少妇一区二区三区| 小说区图片区综合久久88| 亚洲综合色激情五月| 国产91在线播放九色| 欧美激情一区二区三级高清视频| 婷婷午夜社区一区| 亚洲精品电影在线一区| 在线免费观看日本欧美爱情大片| 日韩你懂的电影在线观看| 国产欧美日韩中文字幕在线| 伊人成人免费视频| 国产又粗又猛又爽视频| 日韩欧美在线中字| 亚洲av熟女高潮一区二区| 国产日韩在线观看一区| 伊人久久一区二区| 成人午夜一级| 日韩av不卡在线| 影音先锋亚洲视频| 亚洲综合一区二区不卡| 一级片免费网址| 国产91综合一区在线观看| 日韩成人在线视频网站| 8x拔播拔播x8国产精品| 18av在线播放| av网站在线观看免费| 亚洲情侣在线| 中文字幕欧美日韩一区| 麻豆视频在线观看| mm1313亚洲国产精品美女| 99精品视频99| 免费大片黄在线观看| 欧美一级二级在线观看| 天天干,天天干| 日日噜噜噜夜夜爽爽| 欧亚乱熟女一区二区在线| 中国一级免费毛片| 午夜一区在线| 在线免费观看视频黄| 国产在线视频在线观看| 欧美午夜影院在线视频| 一级黄色片在线免费观看| 久久在线精品| 国产91网红主播在线观看| 国产色产综合产在线视频| 国产精品theporn动漫| 精品亚洲乱码一区二区| 日本午夜一本久久久综合| 色狠狠综合天天综合综合| 蜜桃色永久入口| 欧美一级专区免费大片| 一区二区三区成人在线视频| 久久精品国产亚洲夜色av网站| 制服丝袜专区在线| 日本在线xxx| 国产三级电影| 国产精品亚洲lv粉色| 五月天在线免费视频| 精品国产乱码久久久久久蜜臀网站| 性爱在线免费视频| 欧美乱妇视频| 日本成人动漫在线观看| 男女污污视频在线观看| 97视频一区| 亚洲欧美综合网| 欧美国产视频在线观看| 一区二区三区人妻| 欧美精品一区二区三区很污很色的| 欧美亚洲免费在线| 国产精品视频在线播放| 麻豆一区二区三区精品视频| 羞羞的视频在线看| 欧美日韩国产成人高清视频| 成人午夜激情视频| 亚洲精品在线免费播放| 中出视频在线观看| 在线精品高清中文字幕| 国产超碰91| 国产精品18毛片一区二区| 欧美xxx.com| 欧美日韩国产综合在线| 青青一区二区三区| 青青视频一区二区| 一区二区在线播放视频| 亚洲一区二区三区中文字幕在线| 男人天堂网在线视频| 91色视频在线| 欧美日韩在线观看视频| 色综合天天狠天天透天天伊人| 97中文字幕| av动漫精品一区二区| 欧美激情一区在线观看| 亚洲午夜剧场| 一级片一区二区三区| 乱色588欧美| 国产一区免费观看| 91精品国自产在线| av在线免费电影| 国产成人免费av| 亚洲春色在线视频| 欧美视频在线第一页| 欧美视频在线观看网站| 亚洲黄色在线播放| 亚洲精品成人三区| 97人人精品| 久操网在线观看| 亚洲成人精品| 日韩成人伦理电影在线观看| 国产麻豆视频免费观看| 色yeye香蕉凹凸一区二区av| 性欧美18一19内谢| 美女日批免费视频| 国产熟妇一区二区三区四区| 日日夜夜精品视频免费| 日本性生活网站| 最近2019中文字幕第三页视频| 自拍在线播放| 91一区在线观看| 亚洲欧美国产高清| 国产欧美黑人| 日本午夜大片a在线观看| 99热在线免费观看| 欧美成人全部免费| 国产精品综合一区二区| 欧美一级bbbbb性bbbb喷潮片| 国产小视频在线| 欧美中文在线观看| 一级片视频免费观看| 99久久免费精品高清特色大片| 在线天堂中文www视软件| 国产精品久久久久久久一区探花| 二区三区在线播放| 欧洲一级毛片| 在线成人激情视频| 国产精品815.cc红桃| 欧美 丝袜 自拍 制服 另类| 黄色av免费在线看| 992kp免费看片| 亚洲欧美日本一区二区| 国产一区二区波多野结衣| 国产大陆a不卡| 色婷婷综合激情| 美乳视频一区二区| 麻豆av一区二区| 国产精品99精品久久免费| 国产精品自拍视频一区| 欧美一区二区精品久久911| 国产又爽又黄又舒服又刺激视频| 高潮毛片又色又爽免费| 日本不卡网站| 日本一区视频在线观看| 成人午夜一级二级三级| 亚洲国产一区二区a毛片| 亚洲二区在线视频| 欧美在线观看视频一区二区三区| 美女露隐私免费网站| 亚洲成av人片| 国产韩日精品| 亚洲最大色图| 亚洲精品中文字幕在线播放| 欧洲美女7788成人免费视频| 欧美日本韩国一区二区三区| 亚洲国产精品嫩草影院久久| 国产成人av电影在线播放| 69看片网站| 亚洲国产aⅴ精品一区二区三区| 国产精品美女久久久免费| 97国产精品久久| 国产一区二区精品在线观看| 亚洲日本va在线观看| 亚洲国产欧美日韩精品| 欧美一级黄色录像| 亚洲激情欧美激情| 制服丝袜激情欧洲亚洲| 在线不卡国产精品| 女人18毛片水真多免费播放| 成年网站在线观看视频| 26uuu国产一区二区三区| 91视视频在线观看入口直接观看www| 亚州一区二区| 天天摸日日操|