首页 > 解决方案 > Amazon boto3 将文件从 S3 下载到 tempfile

问题描述

Python 能够创建一个临时文件作为上下文管理器。与其自己创建一个目录和路径,然后在完成后清理它,不如使用这个临时文件。

boto3 客户端是否支持从 s3 下载到临时文件?

标签: pythonamazon-web-servicesamazon-s3

解决方案


试试download_fileobj方法,它接受类文件对象并需要二进制模式,例如:

import boto3
import tempfile

s3 = boto3.client('s3')

with tempfile.TemporaryFile(mode='w+b') as f:
    s3.download_fileobj('mybucket', 'mykey', f)

推荐阅读