import tarfile
import os
#压缩文件
with tarfile.open('a.tar', 'w') as tar:
tar.add('log.log', arcname='log.log')
tar.add('test.txt', arcname='test.txt')
#解压文件
with tarfile.open('a.tar', 'r') as tar:
print(tar.getmembers()) # 查看压缩包内文件成员
# tar.extract('test.txt') # 可选择解压某个文件
# tar.extractall('ccc') # 可设置解压路径
tar.extractall() # 解压全部
#压缩某个目录下所有文件
def compress_file(tarfilename, dirname): # tarfilename是压缩包名字,dirname是要打包的目录
if os.path.isfile(dirname):
with tarfile.open(tarfilename, 'w') as tar:
tar.add(dirname)
else:
with tarfile.open(tarfilename, 'w') as tar:
for root, dirs, files in os.walk(dirname):
for single_file in files:
# if single_file != tarfilename:
filepath = os.path.join(root, single_file)
tar.add(filepath)
compress_file('test.tar', 'test.txt')
compress_file('t.tar', '.')
#添加文件到已有的tar包中
def addfile(tarfilename, dirname): # tarfilename是压缩包名字,dirname是要打包的目录
if os.path.isfile(dirname):
with tarfile.open(tarfilename, 'a') as tar:
tar.add(dirname)
else:
with tarfile.open(tarfilename, 'a') as tar:
for root, dirs, files in os.walk(dirname):
for single_file in files:
# if single_file != tarfilename:
filepath = os.path.join(root, single_file)
tar.add(filepath)
addfile('t.tar', 'ttt.txt')
addfile('t.tar', 'ttt')
python--tarfile模块
最新推荐文章于 2024-05-09 10:42:55 发布