美文网首页
【Linux系统管理6】

【Linux系统管理6】

作者: 西布鲁克 | 来源:发表于2021-06-16 22:35 被阅读0次

使用Python管理压缩包

使用tarfile库读取与创建tar包

Linux系统下的tar命令仅仅是将多个文件或目录打包成一个文件,并没有进行压缩。tarfile模块提供了tar命令的功能,同时还可以创建压缩的tar包

  • 类方法tarfile.open(<文件名>,<打开模式>) - 打开一个tar包文件,返回一个tarfile对象
  • 对象方法tarfile.getmembers() - 返回包含tar包的Tarinfo的对象列表
  • 对象方法tarfile.getnames() - 获取tar包中的文件名列表
  • 对象方法tarfile.extract() - 提取单个文件
  • 对象方法tarfile.extractall() - 提取所有文件
  • 对象方法tarfile.add() - 添加文件到tar包
    代码示例:


    截屏2021-06-16 下午10.12.13.png

使用tarfile库读取与创建压缩包

使用tarfile创建和读取压缩包非常简单,只要在打开文件时指定压缩算法即可。对于tarfile的open函数,以“打开模式:压缩算法”的形式打开即可。
代码示例:

# 读取一个用gzip算法压缩的tar包
with tarfile.open('tarfile_add.tar',mode='r:gz') as out:
# 创建一个用bzip2算法压缩的tar包
with tarfile.open('tarfile_add.tar',mode='w:bz2') as out:

使用zipfile库创建和读取zip压缩包

  • 类方法zipfile.ZipFile(<文件名>) - 打开zip压缩包并返回一个ZipFile对象
  • 对象方法namelist() - 返回zip文件中包含的所有文件和文件夹的字符串列表
  • 对象方法extract() - 从zip文件中提取单个文件
  • 对象方法extractall() - 从zip文件中提取所有文件
  • 对象方法write() - 配合zipfile.ZipFile()以写模式打开压缩文件,再添加文件到压缩包
  • 对象方法close() - 关闭压缩文件

使用shutil创建和读取压缩包

通过get_archive_formats函数获取shutil支持的格式:

import shutil
shutil.get_archive_formats()
  • 类方法shutil.make_archive(<base_name>,<format>,<root_dir>) - 创建压缩包,base_name指定压缩包的格式;format指定压缩包的格式,格式只能是get_archive_formats函数列出的格式;root_dir指定压缩文件存储目录,默认为当前目录。

python2中shutil模块只有创建压缩包的make_archive()方法,没有解压压缩包的功能。python3中有unpack_archive()函数提供解压的功能

shutil.unpack_archive(filename,extract_dir=None,format=None)
#filename-压缩包名称; extract_dir-解压目录; format-压缩包格式

相关文章

  • linux和git学习资源

    linux资源 Linux达人养成计划 I Linux 达人养成计划II Linux系统管理 Introducti...

  • 3.linux管理

    Linux系统管理 Linux优势 Linux结构 发行版本 Release linux 目录结构 查看系统内核版...

  • 【Linux系统管理6】

    使用Python管理压缩包 使用tarfile库读取与创建tar包 Linux系统下的tar命令仅仅是将多个文件或...

  • Linux学习目录

    Linux基础知识与系统管理视频教程 ├─1 Linux系统简│ ├─Linux教程 1.1.1 Linux系统...

  • 简书历史文章列表(不定时更新)

    Linux命令 Linux命令-文件管理Linux命令-系统管理 Python基础、相关模块及进阶 Python开...

  • Linux入门知识

    基础: Linux是什么 Linux用户、文件、目录管理 VIM编辑器 Linux文件系统管理进阶: Linux网...

  • 运维技术栈

    Linux系统运维与架构设计技术栈 Linux系统基础入门 Linux系统概述与运维环境搭建 Linux系统管理 ...

  • 80 多个 Linux 系统管理员的监控工具

    80 多个 Linux 系统管理员的监控工具

  • ssh登录linux

    2018-9-6 上一篇提到用ssh登录centos好处很多,许多linux系统管理员都在用ssh。在window...

  • 一些基础书籍

    Linux入门: Running LinuxLinux in a Nutshell 系统管理和网络: UNIX S...

网友评论

      本文标题:【Linux系统管理6】

      本文链接:https://www.haomeiwen.com/subject/lfofyltx.html