在Python中压缩文件而不写入所有目录的情况下,可以使用zipfile模块来实现。zipfile模块提供了对ZIP文件的读取和写入功能。
下面是一个示例代码,演示了如何在Python中压缩文件:
import zipfile
import os
def compress_files(file_paths, output_path):
with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
for file_path in file_paths:
if os.path.isfile(file_path):
zipf.write(file_path, os.path.basename(file_path))
# 调用示例
file_paths = ['/path/to/file1.txt', '/path/to/file2.txt']
output_path = '/path/to/output.zip'
compress_files(file_paths, output_path)
上述代码中,compress_files
函数接受一个文件路径列表file_paths
和一个输出路径output_path
作为参数。函数使用zipfile.ZipFile
创建一个ZIP文件对象,并使用zipf.write
方法将文件逐个添加到ZIP文件中。os.path.basename
函数用于获取文件的基本名称,以便在ZIP文件中保存相对路径。
这种方法可以在不写入所有目录的情况下压缩文件。只有指定的文件会被添加到ZIP文件中,不会包含文件所在的目录结构。
腾讯云相关产品推荐:对象存储 COS(Cloud Object Storage),是一种海量、安全、低成本、高可靠的云存储服务,适用于存储和处理任意类型的文件,具备高可用、高可靠、高性能、低成本等特点。您可以通过以下链接了解更多信息:
腾讯云对象存储 COS:https://cloud.tencent.com/product/cos
领取专属 10元无门槛券
手把手带您无忧上云