Amazon boto3 将文件从 S3 下载到临时文件

Chr*_*isz 2 python amazon-s3 amazon-web-services

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

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

jar*_*mod 7

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

import boto3
import tempfile

s3 = boto3.client('s3')

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

  • @Kar尝试使用NamedTemporaryFile,它会给你更大的灵活性https://docs.python.org/3/library/tempfile.html#tempfile.NamedTemporaryFile (4认同)