亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在每個 s3 存儲桶中搜索并查看給定文件夾是否存在

在每個 s3 存儲桶中搜索并查看給定文件夾是否存在

慕容708150 2022-12-20 11:35:05
我正在嘗試從 s3 Buckets 中的特定文件夾中獲取文件:我在 s3 中有 4 個桶,名稱如下:1 - 'PDF'2 - 'TXT'3 - 'PNG'4 - 'JPG'所有 s3 存儲桶的文件夾結構如下所示:1- PDF/analysis/pdf-to-img/processed/files2- TXT/report/processed/files3- PNG/analysis/reports/png-to-txt/processed/files4- JPG/jpg-to-txt/empty我必須檢查此文件夾前綴processed/files是否存在于存儲桶中,如果存在,我將讀取這些目錄中存在的文件,否則我將忽略它們。代碼:buckets = ['PDF','TXT','PNG','JPG']client = boto3.client('s3')for i in bucket:    result = client.list_objects(Bucket=i,Prefix = 'processed/files', Delimiter='/')    print(result)如果文件夾結構相同,我可以進入每個目錄,但是當每個存儲桶的文件夾結構不同時,我該如何處理?
查看完整描述

2 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

這也許是一個漫長的過程。


 buckets = ['PDF','TXT','PNG','JPG']

    s3_client = getclient('s3')

    for i in buckets:

        result = s3_client.list_objects(Bucket= i, Prefix='', Delimiter ='')

        contents = result.get('Contents')

        for content in contents:

            if 'processed/files/' in content.get('Key'):

                print("Do the process")

您可以從 s3 存儲桶中獲取目錄列表。如果它包含所需的文件夾,請執行所需的過程。


查看完整回答
反對 回復 2022-12-20
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

import boto3


client = boto3.client('s3')

bucket_name = "bucket_name"

prefix = ""


s3 = boto3.client("s3")


result = client.list_objects(Bucket=bucket_name, Delimiter='/')

   for obj in result.get('CommonPrefixes'):  

       prefix = obj.get('Prefix')

       file_list = ListFiles(client,bucket_name,prefix)

       for file in file_list:

          if "processed/files" in file:

              print("Found",file)


def ListFiles(client, bucket_name, prefix):

    _BUCKET_NAME = bucket_name

    _PREFIX = prefix

    """List files in specific S3 URL"""

    response = client.list_objects(Bucket=_BUCKET_NAME, Prefix=_PREFIX)


    for content in response.get('Contents', []):

        #print(content)

        yield content.get('Key')

http://img1.sycdn.imooc.com//63a133810001a0a511940144.jpg

查看完整回答
反對 回復 2022-12-20
  • 2 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號