精华内容
下载资源
问答
  • python解压7z压缩包
    万次阅读
    2021-12-13 02:09:10

    此程序原理很简单,首先去下载一个7z.exe和7z.dll模块,然后用python做一个重复测试密码解压文件的脚本,一直重复测试,一旦解压成功,脚本则会检测出文件已解压,则会终止测试,然后把测试正确的密码打印出来,当然,这个程序需要优化,毕竟它需要解压出来才能检测到,由于时间的问题,粗略的敲了一代码作为紧急使用,文件我已经打包完成了,会在下方有软件链接,大家可以去下载使用~~

    7z压缩包密码破解软件下载链接

    密码本 链接下载,很多密码样式多重多样

    1、win+r打开cmd,输入下方代码进行安装python模块

    pip install os

    安装完后打开pycharm编译器,没有编译器的没关系,用文本文档也可以,复制如下代码

    import os
    
    
    
    a,b = (input("关注博主不迷路!!!\n\nhttps://jiangongfang.blog.csdn.net/\nhttps://blog.51cto.com/u_15449377\n\n-------------------------\n使用方法:[压缩包.7z 密码本.txt]\n------------------------- \n\n仅支持[*.7z]\n请输入压缩包路径文件和密码本路径文件:
    更多相关内容
  • 使用python批量解压7z格式压缩包

    千次阅读 2020-05-20 00:28:02
    最近下载了许多7z格式的压缩包,但又不想一个个单独的去解压,所以便百度了下python解压压缩包的方法,常见的有导入zipfile模块,我这里用的是使用系统的cmd命令去调用7-zip软件去进行解压缩。 首先到网上下载7-zip...

    最近下载了许多7z格式的压缩包,但又不想一个个单独的去解压,所以便百度了下python解压压缩包的方法,常见的有导入zipfile模块,我这里用的是使用系统的cmd命令去调用7-zip软件去进行解压缩。

    1. 首先到网上下载7-zip软件安装下载地址
    2. 安装完成后找到安装路径,等下使用cmd命令要用到在这里插入图片描述
    3. 接下来就是直接贴代码了在这里插入图片描述
    4. 对于cmd字符串的解释可以看文末的参考链接,这里说下我用到的几个关键点,首先:“-p”后面是直接接着你的解压文件密码,不用空格或双引号隔开,如果你的文件没有密码的话可以去掉“-p密码”;同时“-o”后面接的是你要将文件解压到的位置,同样不用空格或双引号隔开。“{0}”代表的是压缩包文件的全路径如“C:\Users\user\文件.7z”。
    5. 这里使用subprocess.Popen()而不是os.Popen()的原因是后者在解压两三个文件后整个程序就会卡在那,在上网查阅资料后发现可能是缓存不足的问题,使用前者则没任何问题。
    6. 参考链接:https://www.jianshu.com/p/270bbe25bce7
    展开全文
  • Python 实现多种压缩格式文件解压(zip、7z、rar)带密码解压缩,rar程序安装避坑

    代码功能

    Python 代码实现对多种压缩格式的文件,进行带密码解压缩,包括RAR格式、7Z格式、ZIP格式带密码解压缩。

    环境

    系统:ubuntu16.04
    Python:3.6.9
    
    

    程序代码

    import os
    import zipfile
    import py7zr
    import rarfile
    
    
    class UnCompress:
        def __init__(self, file_path, output_path, password=None):
            self.file_path = file_path                  # 输入文件路径
            self.output_path = output_path              # 输出文件路径
            self.password = password                    # 压缩密码
    
        # zip解压缩
        def unzip_file(self):
            try:
                with zipfile.ZipFile(file=self.file_path, mode='r') as fp:
                    fp.extractall(self.output_path, pwd=self.password.encode('ascii'))
                return True
            except:
                return False
    
        # 7z解压缩
        def un7z_file(self):
            try:
                with py7zr.SevenZipFile(self.file_path, 'r', password=self.password) as fp:
                    fp.extractall(path=self.output_path)
                return True
            except:
                return False
    
        # RAR解压缩
        def unrar_file(self):
            try:
                with rarfile.RarFile(self.file_path, 'r') as fp:
                    fp.extractall(self.output_path, pwd=self.password)
                return True
            except:
                return False
    
    
        def run(self):
            file_state = False
            if not os.path.exists(self.file_path):
                return file_state
            if not os.path.exists(self.output_path):
                os.makedirs(self.output_path)
    
            # zip解压缩
            if zipfile.is_zipfile(self.file_path):
                file_state = self.unzip_file()
    
            # 7z解压缩
            if py7zr.is_7zfile(self.file_path):
                file_state = self.un7z_file()
    
            # RAR解压缩
            if rarfile.is_rarfile(self.file_path):
                file_state = self.unrar_file()
    
            return file_state
    

    避坑(linux下rar程序安装)

    在linux环境中,不仅需要使用pip安装rarfile,还需要在系统环境中安装rar程序,不然提示错误:
    “rarfile.RarCannotExec: Cannot find working tool.”

    pip安装
    # 安装rarfile
    pip install rarfile
    
    安装rar程序

    1、下载rar包,去官网进行下载,找到自己需要的程序包,
    我下载的是linux 64位程序
    在这里插入图片描述
    2、将程序包放到linux中,进行解压缩

    tar -xzvf rarlinux-x64-5.9.1.tar.gz
    

    3、安装

    # 进入到解压后的文件夹
    cd rar
    make
    make install
    # 若提示没有权限,命令前面加sudo
    
    展开全文
  • 7z解压使用的py7zlib,因为是python2。 zip解压使用zipfile

    7z解压使用的py7zlib,因为是python2。
    zip解压使用zipfile

    	import py7zlib
    	from subprocess import call
    	import gzip
    	import os
    
        def unzip_all_data(self, path):
          unzip_success = True
          # 遍历当前文件夹所有文件,解压所有压缩包
          for f in os.listdir(path):
            filePath = path + "/" + f
            # 如果是文件夹,跳过
            if os.path.isdir(filePath):
              continue
            if ".tar.gz" in f[-7:] or ".tgz" in f[-4:]:
              ret = call(["tar", "-xvzf", filePath, "-C", path])
              if (ret == 0):
                # 解压完成删除原压缩包
                call(["rm", filePath])
              else:
                return False
            elif ".zip" in f[-4:]:
              (ret, msg) = self.unzip(filePath, path)
              if (ret == 0):
                # 解压完成删除原压缩包
                call(["rm", filePath])
              else:
                return False
            elif ".gz" in f[-3:]:
              (ret, msg) = self.ungz(path, f)
              if ret:
                # 解压完成删除原压缩包
                call(["rm", filePath])
              else:
                return False
            elif ".7z" in f[-3:]:
              print('55555', f)
              (ret, msg) = self.un7z(path, filePath)
              if ret:
                # 解压完成删除原压缩包
                call(["rm", filePath])
              else:
                return False
                
          # 再次查看本文件夹是否存在压缩包,防止多层压缩包
          if self.has_zip_file(path):
              unzip_success = self.unzip_all_data(path)
              if not unzip_success:
                return unzip_success
                
          # 遍历所有文件夹,递归每个文件夹
          for f in os.listdir(path):
            dirPath = path + "/" + f
            if os.path.isdir(dirPath):
              # __MACOSX文件夹是mac压缩文件时产生的缓存文件,无需处理
              if f == "__MACOSX":
                continue
              unzip_success = self.unzip_all_data(dirPath)
              if not unzip_success:
                return unzip_success
          return unzip_success
    
        def has_zip_file(self, path):
          for f in os.listdir(path):
            if ".tar.gz" in f[-7:] or ".tgz" in f[-4:] or ".zip" in f[-4:] or ".gz" in f[-3:] or ".7z" in f[-3:]:
              return True
          return False
    
        def un7z(self, path, filePath):
          try:
            fp = open(filePath,'rb')
            #生成一个archive对象
            archive = py7zlib.Archive7z(fp)
            #读取文件中所有的文件名
            names = archive.getnames()
            #根据文件名返回文件的archiveFile类
            for name in names:
              member = archive.getmember(name)
              #读取文件的所有数据
              data = member.read()
              open(path + "/" + name, "w+").write(data)
            if fp:
              fp.close()
            return (True, "")
          except Exception as e:
            print("un7z", str(e))
            return (False, str(e))
    
        def ungz(self, path, f):
          try:
              # 获取文件的名称
              f_name = f.replace(".gz", "")
              #创建gzip对象
              g_file = gzip.GzipFile(path + "/" + f)
              #gzip对象用read()打开后,写入open()建立的文件里。
              open(path + '/' + f_name, "w+").write(g_file.read())
              g_file.close()
              return (True, "")
          except Exception as e:
              print("ungz", str(e))
              return (False, str(e))
    
        def unzip(self, source, dest):
          try:
              from zipfile import ZipFile
              zipSource = ZipFile(source, 'r')
              zipSource.extractall(dest)
              zipSource.close()
              return (0, "")
          except Exception as e:
              print("unzip", str(e))
              return (1, str(e))
    
    
    展开全文
  • 使用多进程的方式进行解压、压缩7z文件
  • python批量解压7z

    2022-05-29 17:22:48
    脚本调用bandizip 的bz.exe,只解压7z,未测试zip、tar、rar等格式,不过应该没问题。(需要添加后缀检测) 用了多进程,有点效果。 1.引入库 代码如下(示例): # coding="utf-8" #批量处理压缩文件名、解压缩...
  • python3 解压7z文件

    千次阅读 2021-11-28 22:25:30
    最近需要用Python解压7z压缩包,发现了一个特别好用的库:py7zr,支持压缩、解压、加密、解密等等。 作者对issue的反馈非常的及时和专业,甚至因为一个罕见bug还特意去linux官方的mailing-list探讨。 版本要求:>...
  • path=r'C:\Users\Lenovo\Desktop\2' #解压文件夹‘2’的7z压缩包 frompy7zrimportunpack_7zarchive importos,shutil os.chdir(path) shutil.register_unpack_format('7zip',['.7z'],unpack_7zarchive) shutil....
  • python 解压zip rar 7z文件1、zip等格式文件解压文件2、删除临时文件3、shutil添加解压7z格式文件支持4、rar格式文件解压 1、zip等格式文件解压文件 使用shutil,支持的压缩文件格式,一般常用解压格式为.zip文件。 ...
  • path=r'C:\Users\Lenovo\Desktop\2' #解压桌面上”2“文件夹内的7z格式压缩包 os.chdir(path) foriinos.listdir(path): archive=py7zr.SevenZipFile(i) try: archive.extractall() archive.close() os.remove...
  • 所以用了调用系统命令的方法,用7z解压 通过apt可以安装上7z-full和7z的rar插件 有一个地方要注意 -o 和-p与后面的目录、密码之间没有空格!! 同样可以用这个代码暴力破解压缩包密码 # coding:utf-8 import os...
  • 本文实例讲述了python使用7z解压apk包的方法。分享给大家供大家参考。具体如下:这段代码通过shell调用7z对apk包进行解压缩 def run_shell(command, mayFreeze=False):def check_retcode(retcode, cmd):if 0 != ret...
  • 使用python实现嵌套压缩包解压

    千次阅读 2022-03-30 18:49:53
    使用python实现嵌套压缩包解压@TOC 因为一些需要自己写了一个小工具耍耍。 主要使用的是zipfile和py7zr库,在此感谢几位大佬的文章的帮助!链接附在最后 import os import zipfile import py7zr # 第一层解压zip...
  • Python压缩、减压7z文件

    千次阅读 2022-05-10 20:11:03
    Python压缩、减压7z文件py7zr简介安装解压文件压缩、归档 py7zr简介 py7zr 是一个由Python编程语言编写的7zip存档压缩、解压缩、加密和解密的库和实用程序。要求的最低版本是Python 3.6。 支持的算法: compress ...
  • 文章目录一、调用7z.exe二、获取压缩包路径及其名字三、按照hmac加密方式进行解密四、设置将解压出的文件放入的目录五、最后将各变量整合到一起,组成解压缩命令,传到popen()函数内六、完整代码 一、调用7z.exe ...
  • 使用python的zipfile解压时,中文会乱码,修改zipfile源文件虽然能解决,但如需在其他设备上运行会带来诸多不便。
  • 本文展现了使用python代码暴力破解ZIP、7Z 、RAR格式压缩包密码的方法
  • 压缩包类型:.gz .tar .tgz .zip .rar gz: 即gzip。通常仅仅能压缩一个文件。与tar结合起来就能够实现先打包,再压缩。 tar: linux系统下的打包工具。仅仅打包。不压缩 tgz:即tar.gz。先用tar打包,然后再用gz...
  • 小白起航,需要批量解压文件,zipfile模块解压zip文件,顺利。但是zip麻烦不断,记录一下。 1.看了站内教程,安装rarfile模块,使用。 报错 rarfile.BadRarFile: Failed the read enough data: req=643012 got=52。 ...
  • 要求安装:1.Python2.7z解压软件backup_2.py代码如下:# Filename: backup_2.py”’Backup files.Version: V2, based on Python 3.3Usage: backup.py -s:”dir1|dir2|…” -t:”target_dir” [-c:”comment”]-s: The...
  • 今天我们就利用python脚本实现破译zip压缩包。直接开整~ 效果展示 过程如下: 建立密码字典(常用密码) 尝试用每一个密码,来解压文件 解压成功,跳出循环 密码字典 比如,现在一个纯数字的六位密码...
  • Python实现批量解压7z

    千次阅读 2020-08-31 16:08:37
    import py7zr import os # 压缩包来源目录 source = 'C:\\' # 解压到(地址自行补充) target_dir = 'C:\\' files = os.listdir(source) for f in files: f_path = source + os.sep + f if os.path.isfile(f_path)...
  • Python解压zip压缩包到指定文件路径

    千次阅读 2021-05-01 11:15:05
    Python解压zip压缩包到指定文件路径,给大家介绍zipfile库的简单使用 ZIP文件格式是一种常见的归档和压缩标准。这个模块提供了创建、读取、写入、追加和列出ZIP文件的工具。 import zipfile import os """ src_...
  • python解压gz

    千次阅读 2020-12-02 16:01:43
    广告关闭云服务器1核2G首年99年,还有多款热门云产品满足您的上云需求执行程序,会在当前目录下生成aa.tar.gz文件二、解压defuntar(fname,dirs):解压tar.gz文件:paramfname:压缩文件名:paramdirs:解压后的存放路径:...
  • Python 的内置模块在 Python 的标准库中,有哪些你常用并且觉得犀利无比的模块?不要说 time、datetime、os、sys,这些模块常用是常用,但是逼格不够高啊。举个例子,如果你经常在 LeetCode 上刷题,你会发现有时 ...
  • 当我们有多个zip压缩包需要解压的...python自动化脚本1-解压zip压缩包 如果只是通过小例子来学习python,也可以通过这个实际问题来学习。 主要的python操作: 1.使用库:zipfile,os,sys。 2.遍历文件(挑选符合...
  • python暴力破解zip压缩包背景暴力破解结果 背景 你好!最近从网上的百度网盘链接下载个资料,也没有仔细看,5个G费劲下载下来,结果发现zip压缩包设置了密码,坑爹啊,更坑的是要获取压缩包密码得扫码支付8.9元,啊...
  • 利用Python对加密zip压缩包进行解压

    千次阅读 2019-03-12 14:25:51
    Python暴力破解加密ZIPWelcome功能介绍主要代码展示改进之处运行效果 Welcome 这是本人初学Python学习编写的一个小小鸡肋程序。第一次写博客,如果有错误或者不好的地方欢迎指出...import zipfile #压缩包的读写解压...
  • 解压所有压缩包到同一个文件夹 背景描述 ​ 由于服务器存在限制,一次只能上传小于100Mb的文件,我的数据集大小有1.5G左右,所以我将该数据集分割为30份,每份大约50MB,上传到云端,然后进行批量解压。 清空目标...
  • 如何读取用7z压缩的文本文件?

    千次阅读 2020-12-02 16:02:54
    在这个时间点(pylzma-0.5.0)上,py7zlib模块没有实现允许存档成员作为字节流或字符流读取的API,它的ArchiveFile类只提供一个read()函数,该函数一次解压缩并返回成员中的未压缩数据。考虑到这一点,最好的方法是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,011
精华内容 2,404
关键字:

python解压7z压缩包