批量解壓 python程式設計 批量解壓RAR檔案

2021-10-14 17:19:20 字數 2639 閱讀 8902

本文實現rar批量解壓的功能,通過python指令碼呼叫winrar.exe解壓檔案時似乎不會再有廣告框彈出。

通過python呼叫winrar.exe程式實現rar檔案的批量解壓,**如下:

import argparseimport osclass rarextractor:    def __init__(self, in_dir="./", out_dir="./", pwds=none, exe=none):        self.in_dir = in_dir        self.out_dir = out_dir        self.pwds = pwds if pwds else ['1234']        self.exe = '"%s"' % exe if exe else '"c:program fileswinrarwinrar.exe"'    def extract_files(self, pwds, file_path, dst):        if not os.path.exists(dst):            os.mkdir(dst)        if os.path.isdir(dst) and os.path.isfile(file_path):            try:                for pwd in pwds:                    extract_cmd = r'%s x -y -p%s %s %s' % (self.exe, pwd, file_path, dst)                    if os.system(extract_cmd) == 0:                        print("extract %s ok." % file_path)                        return 0                    else:                        print("extract %s failed." % file_path)                        return -1            except runtimeerror:                print("error")                return -1        else:            print('file not exist')            return -1    def extract_all_rar(self):        for root, dirs, files in os.walk(self.in_dir):            for f in files:                (filename, ext) = os.path.splitext(f)                if ext == '.rar':                    file_path = os.path.join(root, f)                    print(file_path)                    self.extract_files(self.pwds, file_path, os.path.join(self.out_dir, filename))def _parse_options():    parser = argparse.argumentparser()    parser.add_argument("--in_dir", action="store", dest="in_dir", required=true, help="rar files dir")    parser.add_argument("--out_dir", action="store", dest="out_dir", required=false, help="extracted file dir")    parser.add_argument("--pwds", nargs='+', action="store", dest="pwds", required=false,                        help="password list to extract rar: --pwds 1111 2222 3333")    parser.add_argument("--exe", action="store", dest="exe", required=false, help="rar exe install path")    return parser.parse_args()if __name__ == '__main__':    options = _parse_options()    extractor = rarextractor(options.in_dir, options.out_dir, options.pwds, options.exe)    extractor.extract_all_rar()
需要傳入的引數為:

三、測試

在目錄d:ar_test下新建3個txt檔案,使用rar加密壓縮,密碼為1024、2048和4096。

通過以下命令測試:

python 批量解壓zip檔案

這是乙個用python寫解壓大量zip指令碼的說明,本人新手乙個,希望能對各位有所啟發。首先要注意的,在執行自己的指令碼之前一定先備份或者複製出一些樣本進行測試,不然出錯會很麻煩 之後我用到的是解壓zip檔案的擴充套件包zipfile,可以直接pip安裝或者在ide裡安裝,需要特別注意的是這個包的檔...

批量解壓檔案

tar.gz 和 tgz 解壓 tar zxvf filename.tar.gz 壓縮 tar zcvf filename.tar.gz dirname 如果是tar的就去掉z 得到好多個gz檔案 批量解壓 本來想在網上找的,但是自己yy的命令也可以用的 find maxdepth 1 name g...

python批量匯入檔案 python 批量匯入

usr bin envpythoncoding utf 8importmysqldbdefdb execute sql dbs mysqldb.connect host localhost user root passwd root db db port 3306 cursor dbs.cursor...