AWS: FileNotFoundError: [Errno 2] Нет такого файла или каталога - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь загрузить файл в sagemaker из моего хранилища S3.

путь к файлу s3://vemyone/input/dicom-images-train/1.2.276.0.7230010.3.1.2.8323329.1000.1517875165.878026/1.2.276.0.7230010.3.1.3.8323329.1000.1517875165.878025/1.2.276.0.7230010.3.1.4.8323329.1000.1517875165.878027.dcm

Путь этого файла сохраняется как элемент списка вtrain_fns[0].

значение train_fns[0] равно

input/dicom-images-train/1.2.276.0.7230010.3.1.2.8323329.1000.1517875165.878026/1.2.276.0.7230010.3.1.3.8323329.1000.1517875165.878025/1.2.276.0.7230010.3.1.4.8323329.1000.1517875165.878027.dcm

Я использовал следующий код:

s3 = boto3.resource('s3')
bucketname = 'vemyone'

s3.Bucket(bucketname).download_file(train_fns[0][:], train_fns[0])

но я получаюследующая ошибка:

FileNotFoundError: [Errno 2] No such file or directory: 'input/dicom-images-train/1.2.276.0.7230010.3.1.2.8323329.1000.1517875165.878026/1.2.276.0.7230010.3.1.3.8323329.1000.1517875165.878025/1.2.276.0.7230010.3.1.4.8323329.1000.1517875165.878027.dcm.5b003ba1'

Я заметил, что некоторые символы добавились в конце пути.

Как мне решить эту проблему?

1 Ответ

1 голос
/ 10 июля 2019

см. https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Bucket.download_file

по документу, первый аргумент - ключ файла, второй аргумент - путь к локальному файлу:

s3 = boto3.resource('s3')
bucketname = 'vemyone'

s3.Bucket(bucketname).download_file(train_fns[0], '/path/to/local/file')
...