日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:32日期:2022-06-17 18:46:25
目錄項(xiàng)目地址:環(huán)境需求用法 Usage參數(shù) Parameters完整代碼項(xiàng)目地址:

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

環(huán)境需求 Windows系統(tǒng) Python 3 對(duì)于解壓RAR文件,需要安裝WinRAR 對(duì)于解壓7z/zip等其他7-Zip支持解壓的文件,需要安裝7-Zip用法 Usage

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

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

參數(shù) Parameters PASSWD = ['hello','123456'] :你的密碼本,該腳本會(huì)從這個(gè)數(shù)組中不斷試驗(yàn)密碼來解壓縮,直到成功為止。 DELETEIT :一個(gè)危險(xiǎn)的參數(shù)。為真時(shí),該腳本會(huì)直接刪除成功解壓的壓縮文件。為假則不會(huì)刪除。 LOC_WINRAR = 'C:Program FilesWinRAR' 你的WinRAR安裝位置。就算這個(gè)變量的設(shè)置的不對(duì),該程序也會(huì)在可能的位置來尋找對(duì)應(yīng)的程序。 LOC_7Z:7-Zip的安裝位置。 SAVE_MODE = True:如果該腳本無法通過后綴判斷這是不是壓縮文件,則不對(duì)該文件進(jìn)行操作。完整代碼

#!/usr/bin/python3# -*- coding: UTF-8 -*-# Created by Mario Chen, 04.04.2021, Shenzhen# My Github site: https://github.com/Mario-Heroimport sysimport osimport subprocess# you can change it >>>>>PASSWD = ['123456','hello'] # the possible passwordsDELETEIT = False # DANGER!! If it is True,will delete rar file after extractionLOC_WINRAR = 'C:Program FilesWinRAR' # location of WinRARLOC_7Z = 'C:Program Files7-Zip' # location of 7-ZipSAVE_MODE = True # if the suffix of file doesn’t look like a compressed file, then do nothing with it.# <<<<< you can change itPROGRAM_RAR = 'UnRAR.exe' # the program we usePROGRAM_7Z = '7z.exe' # the program we useLOC_S_WINRAR = ['C:Program FilesWinRAR','C:Program Files (x86)WinRAR','./',''] # some possible locations of WinRARLOC_S_7Z = ['C:Program Files7-Zip','C:Program Files (x86)7-Zip','./',''] # some possible locations of 7-ZipRAR_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 onlyENABLE_7Z = False # initial state only# for guessing >>>GUESS_FLAG_INIT = ['密碼', '碼', 'password', 'Password'] #0GUESS_FLAG_START_1 = [':', ':'] #1GUESS_FLAG_START_2 = ['是', '為', 'is', 'are',' '] #1GUESS_FLAG_END = ['n',' '] #2GUESS_FLAG_DIVIDE = ['或是', '或', ' or '] #3# <<< for guessingdef 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: continueelse: if ps_temp<guess_newPs:guess_newPs = ps_tempguess_len = len(initStr) if guess_newPs == len(comment):if not guess_wd: cutIn = 0 cutOut = len(comment) guess_flag = 3else: break else:guess_ps = guess_newPs + guess_lenguess_flag = 1elif 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: continueelse: if ps_temp < guess_newPs:found_temp = Trueguess_newPs = ps_temp + len(startStr)guess_flag = 2 if found_temp:guess_ps = guess_newPscutIn = guess_pscontinue 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 = 2elif guess_flag == 2: guess_newPs = len(comment) for endStr in GUESS_FLAG_END:ps_temp = comment.find(endStr, guess_ps)if ps_temp == -1: continueelse: if ps_temp < guess_newPs:guess_newPs = ps_temp guess_ps = guess_newPs guess_flag = 3 cutOut = guess_pselif 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 = 0else: guess_flag = 0 return guess_wddef 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_MODEdef 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 filereturn 2 elif extM == 11: # wrong passwordreturn 1 elif extM != 0: # errorreturn 1 else:return 0def 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: # errorreturn 1 else:return 0def 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 Trueelif winRarReturn == 2: passelse: 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('nn')+2):commentM[1].index(folder)] comment = comment[0:comment.rindex('nn')] #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 = Truebreak 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: continueelif winRarReturn == 0: successThisFile = True PASSWD[0],PASSWD[index]=PASSWD[index],PASSWD[0] breakelif winRarReturn == 2: breakelse: breakif not successThisFile:if ENABLE_7Z: for index in range(len(PASSWD)):z7Return = z7Do(folder, file, PASSWD[index])if z7Return == 1: continueelse: successThisFile = True PASSWD[0],PASSWD[index]=PASSWD[index],PASSWD[0] break if not successThisFile: print('Failed:'+file) return successThisFiledef 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批量解壓帶密碼的壓縮包的詳細(xì)內(nèi)容,更多關(guān)于python批量解壓壓縮包的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
成人精品动漫一区二区三区| 精品国产黄a∨片高清在线| 综合激情在线| 精品国产99| 久久久国产精品网站| 亚洲我射av| 日本麻豆一区二区三区视频| 国产精品宾馆| 黄色网一区二区| 欧美香蕉视频| 一区三区视频| 日韩影片在线观看| 国产精品亚洲欧美日韩一区在线 | 国产毛片一区二区三区 | 日本亚洲三级在线| 国产精品视频一区二区三区四蜜臂 | 激情综合在线| 在线一区二区三区视频| 日韩高清一级| 三级在线看中文字幕完整版| 欧美a级片一区| 日韩欧美三区| 国产精品久久久久久久久久10秀| 免费毛片在线不卡| 国产欧美日韩综合一区在线播放| 日韩综合精品| 日韩一区二区三区免费视频| 精品久久一区| 国产一区视频在线观看免费| 日本精品一区二区三区在线观看视频| 欧美a在线观看| 亚州av乱码久久精品蜜桃| 日本综合视频| 在线一区视频观看| 青青草国产精品亚洲专区无| 日本少妇一区| 国产欧美日韩免费观看| 欧美va天堂在线| 国产精品66| 亚洲一区区二区| 精品精品99| 少妇高潮一区二区三区99| 三级在线看中文字幕完整版| 日本伊人久久| 99精品视频精品精品视频| 国产欧美一区二区三区米奇| 亚洲高清影视| 成年男女免费视频网站不卡| 亚洲精品一级| 欧美精品一线| 视频在线不卡免费观看| 日本视频一区二区| 老牛影视一区二区三区| xxxxx性欧美特大| 国产美女久久| 日韩在线观看一区二区| 日韩中文在线电影| 欧美a级一区二区| 综合色就爱涩涩涩综合婷婷| 亚洲高清不卡| 婷婷激情一区| 日韩av专区| 免费看久久久| 国产精品一区二区精品| 夜夜嗨一区二区| 亚洲成av在线| 精品一二三区| 国产欧美91| 偷拍亚洲精品| aa亚洲婷婷| 欧美成人基地 | 欧美成人久久| 日韩电影二区| 国产激情综合| 天堂精品久久久久| 久久国产精品毛片| 不卡一区2区| 少妇久久久久| 欧洲一区二区三区精品| 国产一区二区三区视频在线| 精品国产欧美日韩| 欧美aⅴ一区二区三区视频| 日本a级不卡| 日本成人在线一区| 青草综合视频| 日韩精品成人| 91亚洲精品在看在线观看高清| 一区在线视频观看| 亚洲免费观看| 久久不射网站| 蜜臀av一区二区三区| 亚洲综合中文| 婷婷成人av| 欧美日韩午夜电影网| 国产精品亚洲四区在线观看 | 国产精品theporn| 国产精品久久乐| 国产精品日本| 欧美日韩一区二区三区不卡视频 | 久久中文字幕二区| 国产精品啊啊啊| 一本一本久久| 日韩中文字幕在线一区| 国产欧美欧美| 欧美一区二区三区久久精品| 亚洲精品自拍| 国产福利片在线观看| 欧美性感美女一区二区| 免费看精品久久片| | 久久激情中文| 综合日韩在线| 国产精品玖玖玖在线资源| 日韩一区二区三区在线免费观看| 日本欧美在线看| 蜜桃久久精品一区二区| 日韩欧美中文字幕一区二区三区| 国产亚洲综合精品| 国产欧美日韩精品一区二区免费 | 日韩av片子| 国产日韩一区二区三区在线播放| 婷婷亚洲精品| 国产私拍福利精品视频二区| 免费亚洲一区| 日韩欧美三级| 欧美精品一线| 日韩三级精品| 久久精品国产99国产精品| 成人精品高清在线视频| 久久久精品午夜少妇| 成人在线视频区| 色婷婷久久久| 亚洲欧洲一区二区天堂久久| 视频精品一区二区| 日韩欧乱色一区二区三区在线| 奇米亚洲欧美| 高清精品久久| 91久久午夜| 亚洲精品日本| 国产极品嫩模在线观看91精品| se01亚洲视频| 中文字幕一区二区三区日韩精品| 日韩不卡一区二区三区| 麻豆极品一区二区三区| 久久精品导航| 伊人国产精品| 国产精品3区| 欧美日韩国产在线观看网站| 欧美日韩18| 午夜精品久久久久久久久久蜜桃| 伊人精品在线| 国产乱人伦精品一区| 成人日韩在线观看| 亚洲欧美日韩在线观看a三区| 日韩av资源网| 999国产精品视频| 日韩av一区二区三区四区| 国产成人免费av一区二区午夜| 亚洲一级影院| 国产精品激情电影| 日韩在线视频精品| 亚洲97av| 青青青免费在线视频| 亚洲欧美在线专区| 日韩中文首页| 欧美日韩精品一区二区三区视频 | 成人日韩在线| 日本免费在线视频不卡一不卡二| 欧美亚洲日本精品| 日韩国产欧美三级| 婷婷国产精品| 国产精品视频一区二区三区| 欧美手机在线| 韩国一区二区三区视频| 日韩不卡一区二区| 午夜久久一区| 国产盗摄——sm在线视频| 日韩在线电影| 欧美精品一二| 国产精品13p| 国产精品久久久久久久久免费高清 | 婷婷激情综合| 激情不卡一区二区三区视频在线| 免费在线看一区| 久久一区二区三区喷水| 久久精品福利| 日韩精品免费一区二区夜夜嗨 | 蜜桃一区二区三区在线| 亚洲成人不卡| 精品久久国产一区| 久久国产乱子精品免费女| 另类av一区二区| 国产99久久久国产精品成人免费| 另类欧美日韩国产在线| 亚洲精品乱码久久久久久蜜桃麻豆| 免费不卡中文字幕在线| 91日韩在线| 美女精品一区二区| 日韩网站在线| 久久精品国产www456c0m|