tarfile解压嵌套tar
要解压的目录结构和要解压成的目录结构如下:
ILSVRC2012_img_train.tarn01440764.tarn01440764_18.JPEGn01440764_36.JPEG...n01443537.tarn01443537_2.JPEG...n01484850.tarn01484850_17.JPEG......
想解压成如下效果:
ILSVRC2012_img_train 文件夹n01440764 文件夹n01440764_18.JPEGn01440764_36.JPEG...n01443537 文件夹n01443537_2.JPEG...n01484850 文件夹n01484850_17.JPEG......
解压代码如下:
import os
import tarfilefile_path = './ILSVRC2012_img_train.tar'
file_name = file_path.split('/')[-1].split('.tar')[0]
os.mkdir(file_name) # 生成ILSVRC2012_img_train文件夹
tar = tarfile.open(file_path)
tar.extractall(file_name) # 第一层解压,将对ILSVRC2012_img_train.tar进行解压
sub_tar_file_name_list = tar.getnames() # 获取ILSVRC2012_img_train.tar中的子目录
sub_file_name_list = []
for sub_tar_file_name in sub_tar_file_name_list:sub_file_name_list.append(sub_tar_file_name.split('.tar')[0])
for dir_name in sub_file_name_list:os.mkdir(file_name+'/'+dir_name) # 生成不带.tar的目录
tar.close()for extract_name in sub_tar_file_name_list:sub_tar = tarfile.open('./'+file_name+'/'+extract_name)sub_tar.extractall('./'+file_name+'/'+extract_name.split('.tar')[0]) # 第二次解压 sub_tar.close()os.system('rm -rf '+'./'+file_name+'/'+extract_name) # 删除第一层解压后的第二层带.tar的文件
# os.system('rm -rf file_path) 如果想将ILSVRC2012_img_train.tar也删除了就使用这个
tarfile解压嵌套tar相关推荐
- LINUX:解压问题tar: Child returned status 1
解压某个文件时 #tar -zxvf xxxxx.tar.gz 出现下面的错误提示: gzip: stdin: not in gzip format tar: Child returned statu ...
- Ubuntu下tar命令使用详解 .tar解压、.tar压缩
1 tar参数选项 2 .tar压缩命令 3. tar解压缩命令 4 解压安装 5 . tar.bz2解压缩命令 6.Linux压缩和解压.bz2文件-bzip2 Linux tar 命令 在Linu ...
- Linux 命令————打包解压之tar
Linux 命令----打包解压之tar *代表归档文件的名字 (1)文件打包 $tar-cvf *.tar filename -c –create 指导tar创建归档文件. -v–verbose(a ...
- linux+压缩率最高的命令,Linux压缩解压命令tar、tgz、tar.bz2压缩比率对比
在Linux系统下用户最常用到的压缩解压命令是tar.tar.gz(tgz).tar.bz2,当然还有gz.zip.rar,下面将对tar.tar.gz(tgz).tar.bz2这三个命令进行压缩比率 ...
- tar.gz 解压出现 tar :This does not look like a tar archive 解决
tar.gz 解压出现 tar :This does not look like a tar archive 解决 在安装hdf5时,使用tar 命令解压hdf5-1.8.18.tar.gz 出现: ...
- ActiveMQ的安装和启动 安装JAVA配置JAVA环境 下载ActiveMQ 解压压缩包 tar zxvf activemq-x.x.x-bin.tar.gz 至此,linux下Activ
ActiveMQ的安装和启动 安装JAVA配置JAVA环境 下载ActiveMQ 解压压缩包 tar zxvf activemq-x.x.x-bin.tar.gz 至此,linux下ActiveMQ ...
- Linux世界的三种压缩解压方式,zip/unzip方式压缩解压、tar方式压缩解压、jar方式压缩解压暨shopt extglob反选示例
Linux世界的三种压缩解压方式,zip/unzip方式压缩解压.tar方式压缩解压.jar方式压缩解压暨shopt extglob反选示例 zip/unzip方式.tar方式压缩解压是Linux中的 ...
- linux 解压为其他名字,Linux 命令————打包解压之tar
Linux 命令----打包解压之tar *代表归档文件的名字 (1)文件打包 $tar-cvf *.tar filename -c –create 指导tar创建归档文件. -v–verbose(a ...
- linux解压批量tar文件内容,Linux命令:tar命令批量解压方法总结
do tar xvf $tar; done for tar in *.tar.bz2; do tar xvf $tar; done 第二:用tar命令批量解压某个文件夹下所有的tar.gz文件 ls ...
最新文章
- Ubuntu 16.04下减小/释放/清理VirtualBox虚拟硬盘文件的大小
- softmax函数_干货 | 浅谈 Softmax 函数
- SpringBoot执行器端点Actuator Endpoint
- 小学生都开始学Python了,你还不抓紧提升技术?
- 陈睿:B站是中国最适合实现元宇宙概念的公司之一
- CppUnit源代码分析总结
- 概率论与数理统计 第四版 课后习题解析
- 世界名著100部简介
- html br 缩写,br开头的单词有哪些?-英语单词br-英语-罗酥遮同学
- 2.2磁盘IO网络IO工作机制
- 「镁客·请讲」周全:想做世界上没有的、比较酷的东西
- SPSS多元线性回归结果分析
- “好奇号”的火星发展观
- 表面等离子体共振新进展!
- 【Crypto】BUGKU-抄错的字符
- spotlight安装使用
- 如何使用AspNetPager分页控件对动态查询的结果进行分页
- axure添加下拉菜单联动
- C# Microsoft.Office.Interop.Owc11 导出excel文件
- 西安交通大学matlab实验报告,matlab实验报告.doc
热门文章
- promql中使用rate/irate等函数__name__丢失处理
- 基于c++11 的filesystem库
- Fastadmin插件开发流程简要记录
- 面经手册 · 第3篇《HashMap核心知识,扰动函数、负载因子、扩容链表拆分,深度学习》
- 2014年去哪网校园招聘
- PDF转HTML转换器哪个好用?快看看这里
- pythonUI自动化-控制已经打开的浏览器
- 管理类联考可以用计算机吗,管理类联考
- 论键盘上F9键的功能
- TypeError: Cannot read property ‘$createElement‘ of undefined