tft每日頭條

 > 科技

 > python批量解壓提取pdf

python批量解壓提取pdf

科技 更新时间:2024-11-20 10:46:34
一、前言

本文實現RAR批量解壓的功能,通過python腳本調用WinRAR.exe解壓文件時似乎不會再有廣告框彈出。

二、實現

通過python調用WinRAR.exe程序實現RAR文件的批量解壓,代碼如下:

import argparse import os class 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 Files\WinRAR\WinRAR.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()

需要傳入的參數為:

  • --in_dir RAR文件所在目錄,默認是當前目錄
  • --out_dir 指定解壓後輸出的目錄,默認是當前目錄
  • --pwds 如果RAR是加密的,則需要指定解壓密碼,可以指定多個密碼,以空格隔開
  • --exe 指定WinRAR.exe所在的目錄,默認是"C:\Program Files\WinRAR\WinRAR.exe"

三、測試

在目錄D:\rar_test\下新建3個txt文件,使用RAR加密壓縮,密碼為1024、2048和4096。

通過以下命令測試:

python rar_extractor.py --in_dir D:\rar_test\ --out_dir D:\rar_test\ --pwds 1024 2048 4096 --exe "C:\Program Files\WinRAR\WinRAR.exe"

python批量解壓提取pdf(python編程批量解壓RAR文件)1

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved