#####tarfile 压缩模块 后缀为.tar | .tar.gz | .tar.bz2
import tarfile
##1.创建tar压缩包
#(1)创建压缩包
'''.tar压缩包只打包,不压缩'''
tf=tarfile.open('ceshi1029.tar','w',encoding='utf-8')
##写入文件到压缩包中
tf.add('添加的文件路径','别名')
tf.add('xxxx','xxxx')
##关闭压缩包
tf.close()
##(2).创建.tar.gz压缩包
tf=tarfile.open('ceshi1029.tar','w:gz',encoding='utf-8')
##写入文件到压缩包中
tf.add('添加的文件路径','别名')
tf.add('xxxx','xxxx')
##关闭压缩包
tf.close()
##(3).创建 .tar.bz2 压缩包
tf=tarfile.open('ceshi1029.tar','w:bz2',encoding='utf-8')
##写入文件到压缩包中
tf.add('添加的文件路径','别名')
tf.add('xxxx','xxxx')
##关闭压缩包
tf.close()
##2.解压压缩包
tf=tarfile.open('ceshi1029','r',encoding='utf-8')
#extract(文件,路径)
#tf.extractall()解压所有文件到一个路径中
tf.extractall('ceshi10.0')
tf.close()
###3.追加文件 支持with语法
with tarfile.open('ceshi1029.tar','w',encoding='utf-8') as tf:
tf.add('xxx','xxx')
'''
tarfile 中的追加,只能是对只打包不压缩的包进行追加,其他的模式不可以
'''
###4.查看压缩包中的内容
with tarfile.open('ceshi1029.tar','r',encoding='utf-8') as tf :
lst=tf.getnames()
print(lst)