boto3를 사용하여 해당 폴더의 모든 것을 다운로드하는 방법

kwsong0314

s3 폴더 (2021-02-15)에 존재하는 모든 csv 파일을 다운로드하고 싶습니다. 다음을 시도했지만 실패했습니다. 어떻게하니?

import boto3

s3 = boto3.resource('s3')
bucket = s3.Bucket('bucket')
key = 'product/myproject/2021-02-15/'
objs = list(bucket.objects.filter(Prefix=key))
for obj in objs:
    client = boto3.client('s3')
    client.download_file(bucket, obj, obj)

valueError: Filename must be a string

마르첼로 로마 니

Marcin 대답은 정확하지만 다른 경로에 같은 이름의 파일을 덮어 씁니다. S3 버킷의 폴더 구조를 로컬로 복제하면이를 방지 할 수 있습니다.

import boto3
import os
from pathlib import Path

s3 = boto3.resource('s3')

bucket = s3.Bucket('bucket')

key = 'product/myproject/2021-02-15/'
objs = list(bucket.objects.filter(Prefix=key))

for obj in objs:
    # print(obj.key)

    # remove the file name from the object key
    obj_path = os.path.dirname(obj.key)

    # create nested directory structure
    Path(obj_path).mkdir(parents=True, exist_ok=True)

    # save file with full path locally
    bucket.download_file(obj.key, obj.key)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

wget을 사용하여 프로젝트 오일러의 모든 문제를 다운로드하는 방법

분류에서Dev

해당 폴더의 모든 파일을 가져 오는 방법

분류에서Dev

해당 폴더에 나열된대로`ls`를 사용하여 Linux 쉘의 파일을 나열하는 방법

분류에서Dev

boto3를 사용하여 DynamoDB에서 모든 항목을 검색하는 방법은 무엇입니까?

분류에서Dev

R을 사용하여 폴더 및 모든 하위 폴더의 모든 PDF를 새 폴더로 복사

분류에서Dev

키를 사용하여 자동 제안 드롭 다운 방법을 해결하는 모든 방법

분류에서Dev

Groovy를 사용하여 폴더의 모든 파일을 읽고 파일의 패턴을 바꾸는 방법

분류에서Dev

boto3로 dynamodb의 모든 항목을 삭제하는 방법

분류에서Dev

Python 및 OS를 사용하여 특정 폴더의 모든 csv 파일을 병합하는 방법

분류에서Dev

PowerShell을 사용하여 특정 이름의 모든 폴더를 삭제하는 방법

분류에서Dev

PHP를 사용하여 특정 폴더 내의 모든 파일을 삭제하는 방법

분류에서Dev

Java 스크립트를 사용하여 폴더 내의 모든 txt 파일을 인쇄하는 방법

분류에서Dev

cmake를 호출하기 전에 빌드 폴더의 모든 것을 삭제하는 것이 정당합니까?

분류에서Dev

Powershell GUI 선택한 폴더를 사용하고 해당 항목을 다른 드라이브의 다른 폴더에 복사하는 방법

분류에서Dev

fread를 사용하여 폴더의 모든 파일을 다운로드 할 수 있습니까?

분류에서Dev

Pandas를 사용하여 모든 csv 파일을 폴더 당 하나의 큰 csv 파일로 병합

분류에서Dev

파이썬을 사용하여 이름으로 폴더의 모든 이미지를로드하는 방법은 무엇입니까?

분류에서Dev

boto3를 사용하여 S3에서 항목에 액세스하고 해당 내용을 읽는 방법 ()

분류에서Dev

os.system을 사용하여 외부 Python 스크립트를 사용하여 한 번에 폴더의 모든 파일을 변환하는 방법

분류에서Dev

os.system을 사용하여 외부 Python 스크립트를 사용하여 한 번에 폴더의 모든 파일을 변환하는 방법

분류에서Dev

aspose를 사용하여 셀에서 모든 드롭 다운의 (listBox) 값을 가져 오는 방법

분류에서Dev

beatifulsoup을 사용하여 웹 사이트에서 모든 행 데이터를 다운로드하는 방법

분류에서Dev

하위 폴더의 모든 파일을 복사하는 방법

분류에서Dev

하위 폴더가있는 폴더의 모든 파일에 대해 셀을 잠그는 방법

분류에서Dev

배치 파일을 사용하여 폴더에 새 하위 폴더를 만들고, 디렉터리의 모든 폴더에 대해 새로 만든 하위 폴더로 파일을 이동합니다.

분류에서Dev

Mac을 사용하여 bash 스크립트를 작성하여 같은 날짜의 파일을 가져와 해당 날짜의 폴더에 넣는 방법

분류에서Dev

링크의 모든 파일을 다운로드하는 방법

분류에서Dev

HelixToolkit을 사용하여 SharpDX의 다른 모든 것 앞에 항상 객체를 유지하는 방법

분류에서Dev

apt-get을 사용하여 모든 저장소를 다운로드하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    wget을 사용하여 프로젝트 오일러의 모든 문제를 다운로드하는 방법

  2. 2

    해당 폴더의 모든 파일을 가져 오는 방법

  3. 3

    해당 폴더에 나열된대로`ls`를 사용하여 Linux 쉘의 파일을 나열하는 방법

  4. 4

    boto3를 사용하여 DynamoDB에서 모든 항목을 검색하는 방법은 무엇입니까?

  5. 5

    R을 사용하여 폴더 및 모든 하위 폴더의 모든 PDF를 새 폴더로 복사

  6. 6

    키를 사용하여 자동 제안 드롭 다운 방법을 해결하는 모든 방법

  7. 7

    Groovy를 사용하여 폴더의 모든 파일을 읽고 파일의 패턴을 바꾸는 방법

  8. 8

    boto3로 dynamodb의 모든 항목을 삭제하는 방법

  9. 9

    Python 및 OS를 사용하여 특정 폴더의 모든 csv 파일을 병합하는 방법

  10. 10

    PowerShell을 사용하여 특정 이름의 모든 폴더를 삭제하는 방법

  11. 11

    PHP를 사용하여 특정 폴더 내의 모든 파일을 삭제하는 방법

  12. 12

    Java 스크립트를 사용하여 폴더 내의 모든 txt 파일을 인쇄하는 방법

  13. 13

    cmake를 호출하기 전에 빌드 폴더의 모든 것을 삭제하는 것이 정당합니까?

  14. 14

    Powershell GUI 선택한 폴더를 사용하고 해당 항목을 다른 드라이브의 다른 폴더에 복사하는 방법

  15. 15

    fread를 사용하여 폴더의 모든 파일을 다운로드 할 수 있습니까?

  16. 16

    Pandas를 사용하여 모든 csv 파일을 폴더 당 하나의 큰 csv 파일로 병합

  17. 17

    파이썬을 사용하여 이름으로 폴더의 모든 이미지를로드하는 방법은 무엇입니까?

  18. 18

    boto3를 사용하여 S3에서 항목에 액세스하고 해당 내용을 읽는 방법 ()

  19. 19

    os.system을 사용하여 외부 Python 스크립트를 사용하여 한 번에 폴더의 모든 파일을 변환하는 방법

  20. 20

    os.system을 사용하여 외부 Python 스크립트를 사용하여 한 번에 폴더의 모든 파일을 변환하는 방법

  21. 21

    aspose를 사용하여 셀에서 모든 드롭 다운의 (listBox) 값을 가져 오는 방법

  22. 22

    beatifulsoup을 사용하여 웹 사이트에서 모든 행 데이터를 다운로드하는 방법

  23. 23

    하위 폴더의 모든 파일을 복사하는 방법

  24. 24

    하위 폴더가있는 폴더의 모든 파일에 대해 셀을 잠그는 방법

  25. 25

    배치 파일을 사용하여 폴더에 새 하위 폴더를 만들고, 디렉터리의 모든 폴더에 대해 새로 만든 하위 폴더로 파일을 이동합니다.

  26. 26

    Mac을 사용하여 bash 스크립트를 작성하여 같은 날짜의 파일을 가져와 해당 날짜의 폴더에 넣는 방법

  27. 27

    링크의 모든 파일을 다운로드하는 방법

  28. 28

    HelixToolkit을 사용하여 SharpDX의 다른 모든 것 앞에 항상 객체를 유지하는 방법

  29. 29

    apt-get을 사용하여 모든 저장소를 다운로드하는 방법은 무엇입니까?

뜨겁다태그

보관