Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 从bucket.objects.filter中排除S3文件夹(前缀=前缀)_Amazon S3_Boto3 - Fatal编程技术网

Amazon s3 从bucket.objects.filter中排除S3文件夹(前缀=前缀)

Amazon s3 从bucket.objects.filter中排除S3文件夹(前缀=前缀),amazon-s3,boto3,Amazon S3,Boto3,我有一个python boto3代码,它列出了s3文件夹/前缀下的所有对象。此代码将返回所有对象,即 温度/测试/日期=2019年9月17日/ 温度/测试/日期=17-09-2019/100.json 我想从响应中排除temp/test/date=17-09-2019/键。我知道s3中不存在文件夹的概念。请在下面找到我的代码: bucket_name = 'temp-bucket' prefix = 'temp/test/date=17-09-2019' bucket = s3_resourc

我有一个python boto3代码,它列出了s3文件夹/前缀下的所有对象。此代码将返回所有对象,即

温度/测试/日期=2019年9月17日/

温度/测试/日期=17-09-2019/100.json

我想从响应中排除temp/test/date=17-09-2019/键。我知道s3中不存在文件夹的概念。请在下面找到我的代码:

bucket_name = 'temp-bucket'
prefix = 'temp/test/date=17-09-2019'

bucket = s3_resource.Bucket(bucket_name)
s3_files = list(bucket.objects.filter(Prefix=prefix))

for file in s3_files:
    print(file)
有没有办法从响应中排除文件夹


谢谢

没有办法过滤出结果,但您可以按如下方式进行操作:

import boto3

bucket_name = 'temp-bucket'
s3 = boto3.resource('s3')

ignore = s3.Bucket(bucket_name ).objects.filter(Prefix='temp/test/date=17-09-2019')
response = s3.Bucket(bucket_name ).objects.all()

for item in response:
    if item not in ignore:
        print(item.key)