使用AWS boto3读取h5文件

问题描述 投票:0回答:1

我正在尝试使用boto3从AWS S3读取h5文件。

client = boto3.client('s3',key ='key')
result = client.get_object(Bucket='bucket', Key='file')
with h5py.File(result['Body'], 'r') as f:
    data = f

TypeError:预期的str,字节或os.PathLike对象,而不是StreamingBody

任何想法?

h5py版本为2.10,boto3版本为1.7.58

同一问题是here,但没有答案...

python amazon-web-services amazon-s3 boto3 h5py
1个回答
0
投票

h5py.File()命令需要一个磁盘上本地文件的路径。但是,您正在将内存中的数据传递给它。

您可以下载文件具有:

import boto3

s3_client = boto3.client('s3')

s3_client.download_file('bucket', 'key', 'filename')

with h5py.File('filename', 'r') as f:
    data = f
© www.soinside.com 2019 - 2024. All rights reserved.