本数据采用第五届“泰迪杯”数据分析技能赛——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)带密码相关推荐

  1. linux 压缩7z文件夹,Linux 下压缩与解压.zip和.rar及.7z文件

    Linux 下压缩与解压.zip和.rar及.7z文件对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们: 1)对于.zip linux下提供了zip和unzip程 ...

  2. php 判断是rar或是zip文件,PHP解压zip和rar文件的方法介绍

    PHP解压zip和rar文件的方法介绍?实例代码举例php语言如何解压文件.php开发经常会遇到解压zip和rar文件,以下方法供大家参考,判断文件是zip类型的还是rar类型,调用相关组件执行解压缩 ...

  3. Linux 下载安装 rar 并解压rar压缩包(Linux下如何解压.zip和.rar文件)

    Linux下如何解压.zip和.rar文件,对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们: 1)对于zip linux下提供了zip和unzip程序,zip是 ...

  4. python 解压zip 慢_Python解压ZIP、RAR等常用压缩格式的方法

    解压大杀器 首先祭出可以应对多种压缩包格式的python库:patool.如果平时只用基本的解压.打包等操作,也不想详细了解各种压缩格式对应的python库,patool应该是个不错的选择. pato ...

  5. 解压zip、rar、gz格式文件

    rar解压版本:需要使用0.7,其他版本尝试了,不行,而且rar压缩的时候,也需要指定rar4,高版本不支持 <!--解压rar压缩--><dependency><gro ...

  6. 使用Python解压zip、rar文件

    解压 zip 文件 基本解压操作 import zipfile''' 基本格式:zipfile.ZipFile(filename[,mode[,compression[,allowZip64]]]) ...

  7. Ubuntu 14 如何解压 .zip、.rar 文件

    .zip 和 .rar 是Windows下常用的压缩文件,在Ubuntu中如何解压. [解压.zip文件] Ubuntu中貌似已经安装了unzip软件,解压命令如下: unzip ./FileName ...

  8. java解压zip与rar

    这两天,因为项目需要,涉及到文件夹的上传,想了很久,在网上也找了一些资料,都没有什么很好的办法,都是用插件之类的解决,后面就想到了上传压缩 文件,说到压缩文件,自然就会遇到,文件的解压缩问题,大家都知 ...

  9. VC++压缩解压zip文件(支持密码)

    只能压缩解压zip格式的,不需要dll或者库文件,核心是HZIP,支持带密码压缩解压(但是有时不完美,属于HZIP本身的问题,请不要纠结这一点). 以下为核心封装文件,建议大家下载源代码查看,下载地址 ...

最新文章

  1. 【剑指offer-Java版】38数字在排序数组中出现的次数
  2. opencv-4.1.0-百度云盘下载链接-环境配置
  3. java setcolumnwidth_Java XSSFSheet.setColumnWidth方法代码示例
  4. 制图折断线_学不好CAD怎么办?老师傅教你CAD制图规范,新手也能秒懂
  5. October CMS - 快速入门 1 安装
  6. 【Proteus仿真】PIC12C672单片机+LM317可调数显稳压电源1.3V~25V
  7. excel表格内怎么换行的教程
  8. plc的指令语句表是什么?
  9. 在odl中如何实现rpc
  10. 使用上古神器帮姐姐完成寸照自动排版/打印
  11. iOS视频 压缩过程 AVAssetExportSessionStatusFailed 文件创建失败
  12. b站某知名云跑路云跑路是咋回事
  13. iOS开发第三方大全
  14. 大数据应用常见的6种商业模式
  15. 描述编程语言的BNF
  16. 百度和 Google 的搜索技术是一个量级吗?
  17. Vista系统安全设置
  18. My97DatePicker设置
  19. 人脸变身“门禁卡”!人脸识别门禁打造智能物业管理
  20. Scan2CAD: Learning CAD Model Alignment in RGB-D Scans学习总结

热门文章

  1. 深圳市高层次人才奖励补贴及申报条件重点介绍,补贴600万
  2. xmanager7开启Xstart 连接远程ubuntu虚拟机
  3. ubuntu 16.04 安装后需要做的事情
  4. 对钙铀云母放射强度的测量
  5. 谷歌浏览器导出所有收藏书签
  6. CN-EN-Translation-BERT
  7. 初学者笔记——微信小程序点击图片放大
  8. 计算机情感计算的sci,情感
  9. windows强制杀死进程方法
  10. 数字IC后端流程——(四)时钟树综合Clock Tree Synthesis