使用python和tar压缩文件夹中特定类型的所有文件

2024-06-06 20:37:31 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在保持原始目录的文件夹结构的同时创建包含特定扩展名的所有文件的压缩文件


Tags: 文件目录文件夹结构压缩文件
1条回答
网友
1楼 · 发布于 2024-06-06 20:37:31

一种可能是创建一个中间文件,列出压缩文件中应该包含的所有文件。 为此,我们可以使用glob模块:

import glob
from pathlib import Path

list_of_files = glob.glob("TOP_LEVEL_FOLDER/**/*.MY_EXTENSION",recursive=True)

with open("FILE_THAT_LISTS_ALL_FILES","w") as f:
    for path_to_single_file in list_of_files:
        path = Path(path_to_single_file).absolute()
        f.write(str(path)+"\n")

glob.glob()创建所有相关文件的列表。使用recursive=True选项,**匹配任意子目录。这意味着该命令递归地查看所有文件夹。 使用Path(path_to_single_file).absolute()命令,我们确保路径是绝对路径而不是相对路径,这意味着中间文件是否移动并不重要

第二步是使用tar创建压缩文件。通过-T选项,我们可以指定一个包含要压缩的文件列表的文件,即我们的中间文件

tar -czvf FINAL_DIRECTORY_WITH_ALL_FILES.tar.gz -T FILE_THAT_LISTS_ALL_FILES 

相关问题 更多 >