python tarfile压缩包操作保姆级教程

TarFile类就是tar压缩包,其由member块组成, member块则包括header块和data块. 每个member以TarInfo对象形式描述. 所以TarFile就是TarInfo的序列

前言

这篇的主题是python的第三方库zipfile,因工作中要处理大量的压缩包zip文件,所以趁着自由时间整理输出下,以提高下工作的愉悦感。

1、tarfile

这个工具可以帮我们解决 zip 压缩包的创建、读取、写入、添加、列出内部所有的成员。更高效的处理压缩包,已达到快速处理数据的目的。

入口1:tarfile.open(name=“sample.zip”)

tar = tarfile.open(name="sample.zip"),针对路径名 name 返回 TarFile 对象。这个对象可以用来解压所有、解压出其中符合规则的文件、添加、写入等。

1

2

3

4

import tarfile

tar = tarfile.open("sample.zip") # or tar = tarfile.open("sample.tar.gz")

tar.extractall()

tar.close()

入口2:tarfile.is_tarfile(name)

tarfile.is_tarfile(name),判断文件是不是tar包,name为文件的路径

1

2

3

import tarfile

if tarfile.is_tarfile("./tartest/tar_1.tar"):

    print(1)

2、处理 open 后的 TarFile 对象

TarFile 对象可在 with 语句中作为上下文管理器使用。 当语句块结束时它将自动被关闭。tarfile对象主要用来:

  • 生成归档的成员name
  • 生成归档的成员 tarnifo 对象
  • 判断某文件在不在归档中
  • 将归档成员的相信信息打到界面上
  • 解压整个tar包到指定目录
  • 解压tar包的某个文件到指定目录
  • 将归档中的一个成员提取为文件tarinfo对象
  • 将指定目录下的 jiao.txt 压缩到指定目录下的 tar 包,tar不存在则新建一个,存在,则替换里面的内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

import tarfile

# if tarfile.is_tarfile("./tartest/tar_1.tar"):

#     print(1)

tar = tarfile.open("./tartest/tar_1.tar")

print("以 tarinfo 返回归档的成员ÿ

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值