写在前面:
功能说明:解压一个压缩文件,解压格式可能是zip、7z、rar,此外压缩包下面可能还有压缩包,把所有压缩包都解压成文件夹。
另外需要说明的有以下几点:
1、使用rar模块解压时,实际上调用的是本机电脑的rar软件,因此需要本机安装rar,并且需要指定系统变量。
2、在解压zip格式的压缩包时候,使用zipfile模块后,解压出来的文件夹名基本都是乱码,这主要是编码格式导致的,因为zipfile模块默认使用cp437编解码。
只要进入zipfile的源码,定位所有cp437的位置,用指定的编码进行替换即可,我这里是都替换成gbk,最后保存,这样解压就不会出现乱码。
在这里做个学习笔记,并把自己的成果留存下,一部分是百度得到的,一部分是自己构思的逻辑组装的。欢迎大家批评指正。
import os
# 解压zip格式所用的模块
import zipfile
# 解压rar所用的模块
import rarfile
# 解压7z格式的模块
import py7zr
import time
import traceback
def get_files(file_path):
"""
获取该绝对路径下