为什么在列出S3文件夹中的文件时会有一个额外的文件

2024-05-17 04:55:10 发布

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

我试图列出S3 Bucket“card prtnr npi”中的文件。我想读的文件在“ambs\u ambivolatile”文件夹中,该文件夹位于S3“card prtnr npi”存储桶中。这是实际路径“card prtnr npi/users/rtltest/ambs\u ambivolatile”ambs\u ambivolatile“文件夹中只有一个文件,但Boto 3正在读取一个不存在的附加文件。你知道吗

“users/rtltest/ambs\u ambivolatile/”不在文件夹中,仅存在part-m-00026.bz2“。请看下面的代码。你知道吗

['users/rtltest/ambs\u ambivolatile/','users/rtltest/ambs\u ambivolatile/part-m-00026.bz2']

    s3_src_bucket = 'card-prtnr-npi'
    s3_src_prefix = 'users/rtltest/ambs_ambivolatile/'
    print("getting response from source")
source_bucket = src_session.resource('s3').Bucket(s3_src_bucket)
files = source_bucket.objects.filter(Prefix=s3_src_prefix)
source_keys = []
for file in files:
    source_keys.append(file.key)

print(source_keys) 

上面的print语句打印以下列表 ['users/rtltest/ambs\u ambivolatile/','users/rtltest/ambs\u ambivolatile/part-m-00026.bz2']

如何停止读取此额外文件“users/rtltest/ambs\u ambivolatile/”。你知道吗


Tags: 文件src文件夹sources3bucketcardusers
1条回答
网友
1楼 · 发布于 2024-05-17 04:55:10

不是文件,是你设定的前缀。S3没有文件夹的概念。每个文件路径都是一个单独的字符串,并且从它的开头进行筛选

尝试此操作以排除前缀

source_keys = [file.key for file in files if file.key!=s3_src_prefix] 

相关问题 更多 >