使用Python和tar压缩文件夹中特定类型的所有文件可以通过以下步骤实现:
import tarfile
import os
def get_files_with_extension(folder_path, extension):
file_list = []
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(extension):
file_list.append(os.path.join(root, file))
return file_list
def compress_files_with_extension(folder_path, extension, output_path):
files_to_compress = get_files_with_extension(folder_path, extension)
with tarfile.open(output_path, "w:gz") as tar:
for file in files_to_compress:
tar.add(file)
函数compress_files_with_extension
接受三个参数:文件夹路径folder_path
,特定文件类型的扩展名extension
以及输出的压缩文件路径output_path
。它首先调用get_files_with_extension
函数来获取文件列表,然后使用tarfile
模块来创建一个tar压缩文件,并逐个将文件添加到压缩文件中。
示例调用:
folder_path = "/path/to/folder"
extension = ".txt"
output_path = "/path/to/output.tar.gz"
compress_files_with_extension(folder_path, extension, output_path)
这个脚本将会压缩文件夹中所有扩展名为.txt
的文件,并将它们保存到指定的输出路径output_path
中。
注意:以上代码示例为Python 3.x版本。如果使用Python 2.x版本,需要将tarfile.open(output_path, "w:gz")
改为tarfile.open(output_path, "w:gz")
。
领取专属 10元无门槛券
手把手带您无忧上云