Skip to main content
 首页 » 编程设计

python之如何使用 boto 将 zip 文件上传到 s3

2025年05月04日7lyhabc

我压缩了一个有多个子目录的文件夹。当我使用 boto 将它上传到 s3 时 通过这样阅读,

zipdata = open(os.path.join(os.curdir, zip_file), 'rb').read() 

然后将所有子目录中的所有文件复制到根目录。即 s3 中不存在子目录。

如何将文件夹的zip文件上传到s3?

请您参考如下方法:

运行上面显示的命令后,zip_data 将包含 zip 文件中包含的字节。如果您随后将该数据写入 S3,您将在 S3 中获得一个包含该数据的对象(键)。这是你想要的吗?

听起来您希望将 zip 文件展开并将其中的所有单个文件和目录作为单个对象存储在 S3 中。如果是这种情况,您需要在本地展开 zip 文件,然后遍历层次结构并将每个单独的文件存储在 S3 中。您可以使用 boto 中的 s3put 命令行工具为您执行此操作。

无法让 S3 本身自动为您解压 zip 文件的内容。