解压zipfile & tarfile
def __un_zip(self, file_path): """解压.zip格式文件到同名目录下,若解压之前就存在该目录说明已解压,跳过解压过程,返回该目录""" zip_file = zipfile.ZipFile(file_path) file_dir = file_path.split(".zip")[0] if os.path.isdir(file_dir): return file_dir else: os.mkdir(file_dir) for names in zip_file.namelist(): zip_file.extract(names, file_dir) zip_file.close() return file_dir def __un_tar(self, file_path): """解压.tar.gz格式文件到同名目录下,若解压之前就存在该目录说明已解压,跳过解压过程,返回该目录""" tar = tarfile.open(file_path) names = tar.getnames() file_dir = file_path.split(".tar.gz")[0] if os.path.isdir(file_dir): return file_dir else: os.mkdir(file_dir) for name in names: tar.extract(name, file_dir) tar.close() return file_dir
补充
1 2 3 4 5 6 7 8 9 10 11 | def extractall(file_dir, to_dir): for root, dirs, names in os.walk(file_dir): for name in names: file_path = os.path.join(root, name) if file_path.endswith(".gz") or file_path.endswith(".zip") or file_path.endswith(".rar"): unzip_file_path = os.path.join(to_dir, name) Archive(file_path).extractall(unzip_file_path, auto_create_dir=True) # os.remove(file_path) file_dir = unzip_file_path # to_dir=to_dir # extractall(file_dir, to_dir) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了