自动化——自动解压(zip、7z、rar)带密码
本数据采用第五届“泰迪杯”数据分析技能赛——A题:竞赛作品的自动评判数据
#https://www.pudn.com/news/62b430eddfc5ee1968969bb7.html
import os
import zipfile
import py7zr
import rarfileclass 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 Trueexcept: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 Trueexcept: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 Trueexcept:return Falsedef run(self):file_state = Falseif not os.path.exists(self.file_path):return file_stateif 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
循环调用类
import os
import zipfile
import rarfile
yichang=[]
file_dir = "C:/Users/KANG/Desktop/jpy/A题:竞赛作品的自动评判数据/DataA"
file_list = os.listdir(file_dir)for file_name in file_list: # 循环读文件print("doing", file_name)web='C:/Users/KANG/Desktop/jpy/A题:竞赛作品的自动评判数据/DataA/'w_input=web+file_namew_output=web+'/DataA/'+file_name[0:file_name.find('.')]a=UnCompress(w_input,w_output,False)a.run()
输出结果:批量解压成功。
参考链接:Python 实现多种压缩格式文件解压(zip、7z、rar)带密码解压缩,安装避坑-pudn.com
自动化——自动解压(zip、7z、rar)带密码相关推荐
- linux 压缩7z文件夹,Linux 下压缩与解压.zip和.rar及.7z文件
Linux 下压缩与解压.zip和.rar及.7z文件对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们: 1)对于.zip linux下提供了zip和unzip程 ...
- php 判断是rar或是zip文件,PHP解压zip和rar文件的方法介绍
PHP解压zip和rar文件的方法介绍?实例代码举例php语言如何解压文件.php开发经常会遇到解压zip和rar文件,以下方法供大家参考,判断文件是zip类型的还是rar类型,调用相关组件执行解压缩 ...
- Linux 下载安装 rar 并解压rar压缩包(Linux下如何解压.zip和.rar文件)
Linux下如何解压.zip和.rar文件,对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们: 1)对于zip linux下提供了zip和unzip程序,zip是 ...
- python 解压zip 慢_Python解压ZIP、RAR等常用压缩格式的方法
解压大杀器 首先祭出可以应对多种压缩包格式的python库:patool.如果平时只用基本的解压.打包等操作,也不想详细了解各种压缩格式对应的python库,patool应该是个不错的选择. pato ...
- 解压zip、rar、gz格式文件
rar解压版本:需要使用0.7,其他版本尝试了,不行,而且rar压缩的时候,也需要指定rar4,高版本不支持 <!--解压rar压缩--><dependency><gro ...
- 使用Python解压zip、rar文件
解压 zip 文件 基本解压操作 import zipfile''' 基本格式:zipfile.ZipFile(filename[,mode[,compression[,allowZip64]]]) ...
- Ubuntu 14 如何解压 .zip、.rar 文件
.zip 和 .rar 是Windows下常用的压缩文件,在Ubuntu中如何解压. [解压.zip文件] Ubuntu中貌似已经安装了unzip软件,解压命令如下: unzip ./FileName ...
- java解压zip与rar
这两天,因为项目需要,涉及到文件夹的上传,想了很久,在网上也找了一些资料,都没有什么很好的办法,都是用插件之类的解决,后面就想到了上传压缩 文件,说到压缩文件,自然就会遇到,文件的解压缩问题,大家都知 ...
- VC++压缩解压zip文件(支持密码)
只能压缩解压zip格式的,不需要dll或者库文件,核心是HZIP,支持带密码压缩解压(但是有时不完美,属于HZIP本身的问题,请不要纠结这一点). 以下为核心封装文件,建议大家下载源代码查看,下载地址 ...
最新文章
- 【剑指offer-Java版】38数字在排序数组中出现的次数
- opencv-4.1.0-百度云盘下载链接-环境配置
- java setcolumnwidth_Java XSSFSheet.setColumnWidth方法代码示例
- 制图折断线_学不好CAD怎么办?老师傅教你CAD制图规范,新手也能秒懂
- October CMS - 快速入门 1 安装
- 【Proteus仿真】PIC12C672单片机+LM317可调数显稳压电源1.3V~25V
- excel表格内怎么换行的教程
- plc的指令语句表是什么?
- 在odl中如何实现rpc
- 使用上古神器帮姐姐完成寸照自动排版/打印
- iOS视频 压缩过程 AVAssetExportSessionStatusFailed 文件创建失败
- b站某知名云跑路云跑路是咋回事
- iOS开发第三方大全
- 大数据应用常见的6种商业模式
- 描述编程语言的BNF
- 百度和 Google 的搜索技术是一个量级吗?
- Vista系统安全设置
- My97DatePicker设置
- 人脸变身“门禁卡”!人脸识别门禁打造智能物业管理
- Scan2CAD: Learning CAD Model Alignment in RGB-D Scans学习总结