文章目录

  • 一、学习目标:
    • 1、安装模块:
    • 2、rarfile.RarCannotExec: Cannot find working tool问题:
    • 3、批量解压代码:

一、学习目标:

批量解压一个目录下的所有rar和zip的压缩包。
之前只是解压zip,今天想解压的里面也有rar,奈何之前脚本跑不了,然后就优化了下。

我之前的俩篇博客:
python 解压zip压缩文件,并且还原中文文件名乱码问题

python对window对一个目录下的所有子目录批量压缩

1、安装模块:

pip install rarfile

2、rarfile.RarCannotExec: Cannot find working tool问题:

解压rar会报错:
这个我在本机电脑找到了,放到了蓝奏云上面。需要的下载即可。
下载文件:https://wwa.lanzous.com/ikZcNkw4kkb

然后把文件放到项目的Scripts目录下面。

参考文章:
https://blog.csdn.net/weixin_30389003/article/details/99440841

3、批量解压代码:

import zipfile
import os
from pathlib import Path
import rarfile
import osdef unzip_file(file_zip_path):new_zip_dir = file_zip_path.rsplit('\\',1)[0] + '/data'if not os.path.isdir(new_zip_dir):os.makedirs(new_zip_dir)zFile = zipfile.ZipFile(file_zip_path, "r")# ZipFile.namelist(): 获取ZIP文档内所有文件的名称列表for fileM in zFile.namelist():# zFile.extract(fileM, new_zip_dir)# 解压出来单个文件extracted_path = Path(zFile.extract(fileM,new_zip_dir))# print("fileM.encode('cp437').decode('gbk')",fileM.encode('cp437').decode('gbk'))# print("extracted_path",extracted_path)# 文件重命名,将中文的文件名还原extracted_path.rename(new_zip_dir+'//'+fileM.encode('cp437').decode('gbk'))zFile.close()return new_zip_dirdef unrar_file(filename):new_zip_dir = filename.rsplit('\\', 1)[0] + '/data'if not os.path.isdir(new_zip_dir):os.makedirs(new_zip_dir)rar = rarfile.RarFile(filename, mode='r')  # mode的值只能为'r'rar.extractall(new_zip_dir)  # 解压文件rar.close()  # 关闭文件,必须有,释放内存if __name__ == '__main__':dir_path = r"压缩包的目录"file_name_list = os.listdir(dir_path)for file_name in file_name_list:file_name_path = os.path.join(dir_path,file_name)if os.path.isfile(file_name_path):print("准备解压",file_name_path)if file_name.endswith('.zip'):unzip_file(file_name_path)elif file_name.endswith('.rar'):unrar_file(file_name_path)else:print("不是压缩文件",file_name_path)else:print("不是文件",file_name_path)

python批量解压rar和zip的压缩包相关推荐

  1. python怎么解压rar文件_Python解压 rar、zip、tar文件的方法

    Q1 :如何解压 rar 压缩包文件? A : Step1:检查是否有 rarfile 第三方库,若没有该模块,则需要进行安装 : Step2:参考代码如下: import rarfile impor ...

  2. python解压rar_Python解压 rar、zip、tar文件的方法

    Q1 :如何解压 rar 压缩包文件? A : Step1:检查是否有 rarfile 第三方库,若没有该模块,则需要进行安装 : Step2:参考代码如下: import rarfile impor ...

  3. python批量解压批量压缩文件夹(逐个)

    系列文章目录 文章目录 系列文章目录 前言 一.python批量解压 二.python批量压缩 总结 前言 一.python批量解压 提示:如果是重要数据解压前请先备份,解压后会覆盖原压缩文件!! 解 ...

  4. python批量解压文件_python 批量解压压缩文件的实例代码

    下面给大家介绍python 批量解压压缩文件的实例代码,代码如下所述: #/usr/bin/python#coding=utf-8import os,sys import zipfile open_p ...

  5. 批量解压多个zip压缩包并将解压出来的文件以该压缩包的名称重命名

    批量解压多个zip压缩包并将解压出来的文件以该压缩包的名称重命名.bat 复制下面的内容保存成bat文件即可运行: @echo off rem 批量解压多个zip压缩包并将解压出来的文件以该压缩包的名 ...

  6. C#压缩或解压(rar和zip文件)

    为了便于文件在网络中的传输和保存,通常将文件进行压缩操作,常用的压缩格式有rar.zip和7z,本文将介绍在C#中如何对这几种类型的文件进行压缩和解压,并提供一些在C#中解压缩文件的开源库. 在C#. ...

  7. 推荐一款好用解压RAR、ZIP文件Mac软件,可以输入密码Dr. Unarchiver

    推荐一款好用解压RAR.ZIP文件Mac软件,可以输入密码Dr. Unarchiver. 今天工作中Windows发给我一个加密RAR文件,是公司很重要的文件,可是Mac不支持呀,因此我把App St ...

  8. python循环解压rar文件

    python循环解压rar文件 C:. │ main.py │ ├─1_STL_算法简介 │ STL_算法简介.rar │ └─2_STL_算法_填充新值STL_算法_填充新值.rar 事情是这样的, ...

  9. python批量解压文件,python批量解压zip文件的方法

    python怎样压缩和解压缩ZIP文件 说明 python使用zipfile模块来压缩和解压zip文件 才能最好于孤独中培养:品格最好在世界的汹涌波涛中形成. 代码 import os,os.path ...

  10. Linux解压rar、zip、war、tar文件

    在Linux上解压常见文件的命令: rar文件:rar e xxx.rar zip文件:unzip -xzvf xxx.zip war包:jar -xvf xxx.war tar包:tar -xzvf ...

最新文章

  1. Serializable Clonable
  2. golang中的执行规则
  3. HOWTO:安装包卸载时如何保留部分文件不被卸载
  4. [zz]struct epoll_event
  5. 数据更新播报php程序,使用thinkPHP实现数据更新一例【原创】
  6. 数据结构之查找的概念及简单实现
  7. onenote复制出来是图片_OneNote入门篇
  8. Linux socket
  9. ArcGIS pro 发布地图服务(一)动态地图服务
  10. ASP.NET MVC 5 笔记
  11. java创建exchange邮箱_创建Exchange邮箱用户
  12. python发邮件被认定为垃圾邮件_python笔记:解决163邮件批量发送被误认为是垃圾邮件而导致无法方法是使用QQ邮件发...
  13. 【Ubuntu 20.04 LTS】安装虚拟机VMware 16
  14. java 下拉复选框_JAVA个人小程序GUI篇-收银(标签、按钮、复选框、下拉标、文本域、表格······)...
  15. 手推向量投影长度、投影向量
  16. 单极霍尔开关SS1368 无刷直流电机用
  17. NCH Eyeline Video System
  18. 利用sfntly的sfnttool.jar提取中文字体
  19. .net 开源CMS推荐
  20. win32k.sys 映射地址

热门文章

  1. fastboot刷机工具_红魔3/3S 刷机教程
  2. SpringBoot 单元测试——JUnit5
  3. 【机器人学】正运动学详解
  4. 【笔记】逻辑门图解—与门、或门、非门、与非门、或非门、异或门、同或门
  5. Origin2018-小白安装
  6. chrome拓展 --截屏文字识别
  7. 5G啊5G,你是不是只比4G多一G?
  8. 《大话数据结构(C#实现)》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+软件架构设计+框架编程+数组+栈+链表+图+队列+树+堆+二叉树+哈希表+立钻哥哥+==)
  9. Ruby语言快速入门
  10. u盘带走的绿化wamp配置方式