简介:为解决文件和文件夹移动传输,有压缩文件和文件夹操作,就存在解压压缩文件和文件夹的操作。上一篇简单接触了shutil模块:Python:shutil模块使用,同时该模块支持对文件和文件夹进行压缩,接下来介绍两种简单的解压压缩包的模块使用。

平时接触比较多的压缩文件类型主要有5种:.gz .tar .tgz .zip .rar

gz:即gzip。通常仅仅能压缩一个文件。与tar结合起来就能够实现先打包,再压缩。
tar:linux系统下的打包工具。仅仅打包。不压缩
tgz:即tar.gz。先用tar打包,然后再用gz压缩得到的文件
zip:不同于gzip。尽管使用相似的算法,能够打包压缩多个文件。只是分别压缩文件。压缩率低于tar。
rar:打包压缩文件。最初用于DOS,基于window操作系统。

以zip和tar压缩包的解压为例,其他形式大同小异,参考即可。

zip文件解压源码:

import zipfile
import osdef un_zip(file_name, dst):"""解压 zip 文件"""zip_file = zipfile.ZipFile(file_name)if os.path.isdir(dst):passelse:os.mkdir(dst)for names in zip_file.namelist():zip_file.extract(names, dst)zip_file.close()if __name__ == '__main__':file_name = r"D:\codes\ai2022\test5\test_zip.zip"dst = r"D:\codes\ai2022\test5\out_put"un_zip(file_name, dst)

zip解压执行结果:

tar文件解压源码:

import tarfile
import osdef un_tar(file_name, dst):"""解压 tar 文件"""tar = tarfile.open(file_name)names = tar.getnames()if os.path.isdir(file_name + "_files"):passelse:os.mkdir(file_name + "_files")# 因为解压后是很多文件,预先建立同名目录for name in names:tar.extract(name, file_name + "_files/")tar.close()if __name__ == '__main__':file_name = r"/mnt/c/goPro/test_tar.tar"dst_tar = r"/mnt/c/goPro/out_put"un_tar(file_name, dst_tar)

tar解压执行:

tar解压执行结果:

微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!

Python:对压缩包进行解压操作相关推荐

  1. 以管理员权限来进行解压操作

    报错问题 解决方案 以管理员权限打开cmd 然后进入所需解压的压缩包路径下 执行cmd命令 start winrar x -y cfe-6.0.0.src.tar.xz(即所需解压压缩包名) x 用绝 ...

  2. shell脚本根据不同的压缩包类型(rar和zip)分别进行解压

    shell脚本根据不同的压缩包类型(rar和zip)分别进行解压,注意传参: case $1 in*.zip)unzip -qq $1 -d $Temp_Dir;;*.rar)unrar x $1 $ ...

  3. java 使用7z进行解压_java调用7zip解压压缩包的实例

    前言 最近的项目中需要用到解压缩包的功能,客户给出的压缩包的格式主要是rar和zip,因此就打算使用java调用7zip的命令行进行解压文件,本文主要记录一下实现的过程以及其中遇到的问题. 7zip命 ...

  4. 使用dcm4che对压缩的dcm文件进行解压

    上一篇文章说到了DCM文件的无损压缩 DICOM DCM4CHE影像压缩 本想着压缩了就大功告成 在使用的时候可以大大减少网络上传输的时间 提高网站性能 但是新的问题又出现了 问题如下 代码中获取文件 ...

  5. 采用批处理命令对文件进行解压及采用SQLCMD进行数据库挂载

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 现在公司 ...

  6. linux 解压7z的压缩包,解压多个拆分的压缩包

    需求: 在Linux下解压7z压缩的压缩包 该压缩包可以是由一个文件压缩生成的单个压缩包(case a):也可以是由一个文件拆分打包生成的多个子压缩包(case b) 工具准备: sudo apt i ...

  7. Java 导入zip,并进行解压

    场景一:上传zip包,后台进行解压,提取里面的文件,进行上传. public static void inputStreamToFile(InputStream ins, File file) {tr ...

  8. 『Python』tkinter 弹窗解压加密的 winzip文件

    目标:解压 zipzipzip 文件夹下的所有 winzipwinzipwinzip 文件,当需要解压密码时,利用 tkintertkintertkinter 弹框接收密码,最终把所有解压出来的文件放 ...

  9. python可变参数报错_Python之可变参数,*参数,**参数,以及传入*参数,进行解包...

    1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...

  10. Python特定场景数据内型“解压”操作

    背景:在特定情况下我们会取一个列表的或字符串的首个值或最后一个值,或第二个.倒数第二个值,这里讲解一种Python"解压"操作. 列表 ll = [23, 45, 67, 77, ...

最新文章

  1. Python ModuleNotFoundError: No module named ‘xlrd‘
  2. 谷歌警告:安卓再现高危漏洞 华为小米等可能被黑客完全控制
  3. dev c++运行没有结果_「C/C++」一行注释也能影响运行结果?
  4. centos配置c语言环境变量,CentOS7设置环境变量
  5. 结构化数据存储,如何设计才能满足需求?
  6. [转]Visual Studio 2005创建VC++智能设备项目失败的解决方法
  7. 红皮书--EOF与BOF
  8. Ubuntu18.04安装openjdk-7-jdk
  9. 两个rpm文件包存在互相依赖关系时,需要同时安装,解决办法如下
  10. CTFSHOW 愚人节欢乐赛WP
  11. 红色警戒最新版本哪个服务器好,红色警戒2里面哪个版本最好玩?
  12. 美国恐怖故事第七季/全集American Horror Story全迅雷下载
  13. R语言学习笔记:使用reshape2包实现整合与重构
  14. H3C SNMPv3 配置
  15. Arduino-超声波测距仪-实现近距离蜂鸣器报警
  16. 调试经验——使用VBA显示Excel中所有faceId对应的图标 (Display all FaceID Icons in Excel with VBA)
  17. java实现空心金字塔
  18. c语言之文件存储通版讯录
  19. 汇编指令msr_(转)ARM汇编学习笔记——MRS和MSR指令
  20. Java房地产销售管理系统_JAVA JSP房地产销售系统 源代码 论文

热门文章

  1. XGBoost 与 信用卡诈骗数据集 二
  2. sccm可以管理linux补丁,在Linux系统中如何运用SCCM集合?
  3. Android 秒表
  4. 2015年8月18日工作日志--------赵鑫
  5. 退出卸载360、QAX 天擎,无需密码
  6. 自然常数e是什么?它是怎么来的?
  7. 金融专硕可以用计算机吗,金融硕士考研:考研金融431能带计算器吗?
  8. CleanMyMac X4.12.2免费版MAC电脑系统磁盘优化工具
  9. Node.js 基础入门(四) 数据库与身份认证
  10. 安卓微信王者荣耀野区服务器,王者荣耀安卓微信136区运筹帷幄