使用boto3处理S3 bucket fetch异常

2024-03-29 02:36:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做下面这样的事情来获取s3存储桶中的所有文件。你知道吗

 for obj in bucket.objects.filter(Delimiter='/', Prefix='uploads/{}/'.format(name)):  # to get data from subfolder dir
            if obj.key.endswith(('.xlsx', '.csv')):
                paths.append(obj.key)

我需要处理这样一种情况:文件夹中没有文件,或者文件夹(uploads/{}/)本身不存在。我该怎么处理。你知道吗


Tags: 文件keyin文件夹objformatforprefix
1条回答
网友
1楼 · 发布于 2024-03-29 02:36:08

您可以尝试以下方法:

s3 = boto3.resource('s3')
try:
    for obj in bucket.objects.filter(Delimiter='/',
                                     Prefix='uploads/{}/'.format(name)):  # to get data from subfolder dir
        if obj.key.endswith(('.xlsx', '.csv')):
            paths.append(obj.key)
except s3.meta.client.exceptions.NoSuchKey:
    print("no such key in bucket")

相关问题 更多 >