使用 Boto3 从 S3 下载文件夹

2024-03-10

Using Boto3 Python SDK,我能够使用该方法下载文件bucket.download_file()

有没有办法下载整个文件夹?


Answer recommended by AWS /collectives/aws Collective

又快又脏,但它有效:

import boto3
import os 

def downloadDirectoryFroms3(bucketName, remoteDirectoryName):
    s3_resource = boto3.resource('s3')
    bucket = s3_resource.Bucket(bucketName) 
    for obj in bucket.objects.filter(Prefix = remoteDirectoryName):
        if not os.path.exists(os.path.dirname(obj.key)):
            os.makedirs(os.path.dirname(obj.key))
        bucket.download_file(obj.key, obj.key) # save to same path

假设您要从 s3 下载目录 foo/bar,那么 for 循环将迭代路径以 Prefix=foo/bar 开头的所有文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Boto3 从 S3 下载文件夹 的相关文章

随机推荐

  • javamail还提取封装消息的附件内容类型:message/rfc822

    我想提取封装在消息 InputStream 中的 eml 消息的所有附件 内容类型 message rfc822 InputStream is new FileInputStream Path MimeMessage mime new Mi
  • 双重修改后如何继续合并?

    我在用着git rebase i重写历史记录 在这种情况下 对早期提交的更改集进行小的更改 换句话说 A B C master gt A B C master I know C也在隐含地改变 但你明白了 这是我迄今为止的进展 git reb
  • Eclipse Neon.1 泛型编译错误:无法推断类型参数

    MWE https www wikiwand com en Minimal Working Example import java util Comparator import java util TreeMap import static
  • Ruby 的 watchr 在 Python 中相当于什么?

    我喜欢这个概念watchr https github com mynyml watchr 它监视文件系统并在发生变化时运行回调 有纯Python 的等价物吗 最好可以 pip 安装 你可能应该看看看门狗 http packages pyth
  • 如何在这个系统内进行通信?

    我们打算设计一个具有三个 层 的系统 总部 只有一台服务器 区域上有很多 节点 使用 iPad 的用户 HQ 与节点进行 2 路通信 节点与用户进行 2 路通信 用户从不与总部沟通 反之亦然 权力机构规定总部的 Windows 应用程序 使
  • 使用样式在主题中设置活动背景?

    我想在我的所有活动中使用背景绘制 我怎样才能用一种风格做到这一点 styles xml 它为所有小部件设置了背景 我只是希望它能够用于活动 Thanks Use
  • 如何查找某个项目在列表中第n次出现的索引?

    Given x w e s s s z z s 每次出现s出现在以下索引中 1st 2 2nd 3 3rd 4第四名 7 If I do x index s 我将得到第一个索引 如何获得第四个的索引s Using 列表理解 http doc
  • 如何处理RecyclerView.ItemDecoration中的点击事件?

    我有一个 RecyclerView 带有 LinearLayoutManager 和一个自定义的 RecyclerView ItemDecoration 比方说 我想在装饰视图中添加按钮 出于某种原因 我用按钮填充布局 它正确绘制 但我无法
  • 为什么 getLocationOnScreen(location) 总是返回 0?

    In my FragmentLayout我有一个LinearLayout具有多个子视图 TextView CardView 我想找到所有的顶部偏移量LinearLayout意见但我总是得到零 这是我的代码 Override public V
  • 部分多键映射的数据结构?

    我的数据由映射到值的键组成 如下所示 Key Value 0 0 0 0 a 0 0 0 1 b 0 1 0 1 c 0 1 1 0 d 我正在寻找一种可以有效地对键执行搜索查询的数据结构 其中查询可以是完整或部分指定键 例如 0 0 0
  • 从 WP7 上的 xna 游戏启动 Internet Explorer

    我想知道是否可以从 Windows Phone 7 上运行的 XNA 游戏启动 Internet Explorer 我想将我的玩家重定向到我的网站 此致 我相信您仍然可以使用Web浏览器任务 http msdn microsoft com
  • ClojureScript 地图查找速度慢

    我有一个简单的地图 def my map 1 2 3 1 1 2 4 5 3 4 2 3 4 5 3 3 5 2 5 6 9 2 1 5 8 3 1 6 我用来执行查找的 然而 这表现得相当差 time doseq x range 500
  • Webpack 长期缓存

    Scenario 我正在尝试使用 webpack 将我的供应商脚本与我的应用程序脚本分开捆绑 尝试1 index js var require lodash console log webpack config js var path re
  • 如何在没有 Django 其余部分的情况下使用 Django 模板?

    我想在我的 Python 代码中使用 Django 模板引擎 但我没有构建基于 Django 的网站 如果没有 settings py 文件 和其他文件 并且必须设置 DJANGO SETTINGS MODULE 环境变量 如何使用它 如果
  • 如何获得 Java 软件商业许可? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我用 Java 编写了一个基于桌面的会计软件 我想放置密钥或许可证或其他类型的安全措施来防止客户端重新分发软件 我只是想知道该怎么办
  • 当对三个整数使用两次 = 运算符时,会发生什么? [复制]

    这个问题在这里已经有答案了 这是做什么的 int x 1 int y 2 int z 3 x y z 我在一些开源项目中遇到过多种此类事情 并且一直对它们感到困惑 我的意思是 运算符在三个整数上使用两次 即x y z 我需要理解这一点 谢谢
  • Visual Studio 无法在 Windows 10 上正确安装

    我将我的笔记本电脑升级到 Windows 10 无预览版 真正的东西 然后我安装了 Visual Studio Community Edition 2015 我已经安装了 VS 2013 这样我就可以开始使用 Cordova 功能 安装过程
  • 使用 p 值的逐步回归删除 p 值不显着的变量

    我想表演一个逐步线性回归 using p values作为选择标准 例如 在每个步骤中删除具有最高即最不显着 p 值的变量 当所有值均由某个阈值定义的显着时停止alpha 我完全知道我应该使用 AIC 例如命令step or stepAIC
  • 获取当前function()作用域的所有变量

    我有问题 我想获取当前的函数范围 我有这个示例代码 我工作正常 function nittle var Pen new Dot Generated dynamical through eval for key in window if wi
  • 使用 Boto3 从 S3 下载文件夹

    Using Boto3 Python SDK 我能够使用该方法下载文件bucket download file 有没有办法下载整个文件夹 Answer recommended by AWS collectives aws Collectiv