删除tar.gz文件中的一个文件并再次压缩存档

时间:2017-06-19 15:40:19

标签: python compression extract archive tarfile

我有一个文件tar.gz,我想提取它,然后删除以“net_”开头的文件,然后再次使用相同名称压缩文件:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys, getopt
import tarfile
import glob
import tempfile
import shutil
import json
import urllib
import boto3
import logging


key = 'file_14747.tar.gz'
filepath = os.path.join('/tmp/', key)
if os.path.basename(filepath).startswith('file_'):
  file_key = tarfile.open(filepath, "w:gz")
  file_key.extractall()
  file_key.close()
# suppression de fichier net
for file in os.listdir("/tmp/"):
  if file.startswith('net_'):
    os.remove(file)
# compresser les fichiers
tar = tarfile.open('/tmp/'+key, "w:gz")
for file_name in os.listdir("/tmp/"):
  print(file_name)
  if file_name.endswith('.csv'):
    print(" Adding %s..." % file_name)
    tar.add(file_name, os.path.basename(file_name))
tar.close()

我尝试了这个,但每次我得到一个空的file.tar.gz,我丢失所有的文件,我没有得到我想要的。 如何打开存档,删除一个文件并再次压缩存档?

0 个答案:

没有答案