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文件。如果确实如此,那么正如您所说,将文件提取到某个临时目录,然后删除该目录