Python 如何删除提取和执行所需任务后提取的每个文件?

Python 如何删除提取和执行所需任务后提取的每个文件?,python,Python,如何删除提取完成所需任务后提取的每个文件 files = glob.glob('*.tar.gz') for f in files: with tarfile.open(f, 'r:gz') as tar: tar.extractall() 我想在这里删除那些提取的文件 可以使用os.remove(),但我希望在第一次提取过程中自动提供文件名。怎么可能呢?删除一个目录及其所有内容 删除一个文件 删除空目录 无论在哪里提取这些文件,都可以使用上述函数删除它们 impor

如何删除提取完成所需任务后提取的每个文件

files = glob.glob('*.tar.gz')

for f in files:
    with tarfile.open(f, 'r:gz') as tar:
        tar.extractall()
我想在这里删除那些提取的文件

可以使用os.remove(),但我希望在第一次提取过程中自动提供文件名。怎么可能呢?

删除一个目录及其所有内容

删除一个文件

删除空目录

无论在哪里提取这些文件,都可以使用上述函数删除它们

import os
files = glob.glob('*.tar.gz')

for f in files:
    with tarfile.open(f, 'r:gz') as tar:
        tar.extractall()
        extracted_files = os.listdir(".") #retrieves the lists of all files and folders in the current directory
        for file in extracted_files:
            if file.endswith(".tar.gz"): # do not process tar.gz files
                continue
            absolute_path = os.path.abspath(file) # get the absolute path    
            if os.path.isdir(absolute_path): # test if the path points to a directory
                shutil.rmtree(absolute_path)
            else: # normal file
                os.remove(absolute_path)

如何将它们提取到一些临时文件夹中?@zhangxaochen我必须先提取源文件所在目录中的文件。@zhangxaochen我想通过第一次提取过程自动输入文件名。怎么可能呢?os.remove()还可以,但我想在第一次提取过程中自动输入文件名。怎么可能呢?但是,我不应该删除原始源文件(.tar.gz)更新的代码。它忽略所有以.tar.gz结尾的文件。“如果.tar.gz文件中包含.tar.gz文件怎么办?”@zhangxaochen:我假设.tar.gz中没有.tar.gz文件。如果确实如此,那么正如您所说,将文件提取到某个临时目录,然后删除该目录