在 Python 中压缩一个文件夹及其所有内容而不保留目录结构

zip a folder with all its content without preserving directory structure in Python

我有一个目录,里面有很多 csv 文件。当我尝试使用 zipfile 或 shutil 包压缩文件夹时,将创建一个完整的目录结构。我只需要将包含大量 csv 文件的文件夹压缩。

import shutil
import os


def make_archive(source, destination):
    base = os.path.basename(destination)
    name = base.split(".")[0]
    format = base.split(".")[1]
    archive_from = os.path.dirname(source)
    archive_to = os.path.basename(source.strip(os.sep))
    shutil.make_archive(name, format, archive_from, archive_to)
    shutil.move("%s.%s" % (name, format), destination)


make_archive("/Users/myusername/Documents/my_folder", "/Users/myusername/Desktop/data.zip")

我的文档文件夹中有 my_folder,其中包含所有 csv 文件。我将它压缩并放到我名为 data.zip 的桌面上。当你解压缩时它将是 my_folder/all your csv files