Получить имена файлов из корзины S3 и каталога без имени каталога? - PullRequest
0 голосов
/ 26 апреля 2020

Я подключился к S3 и получил все файлы в моем S3 bucket foo и из папки poo. Все мои файлы находятся в S3://foo/poo.

Запуск этого кода возвращает:

[i.key for i in s3_resource.Bucket(foo).objects.filter(Delimiter='/', Prefix='poo/')]

Я получаю:

['poo/',
 'poo/a.png',
 'poo/b.png',
 'poo/c.png',
.....]

Как мне избавиться от poo/

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020
[i.key for i in s3_resource.Bucket("foo").objects.filter(Delimiter='/', Prefix='poo/') if i.key != 'poo/']
0 голосов
/ 26 апреля 2020

используйте rsplit с максимальным разделением, равным 1, и примите 2-е значение

[i.key.rsplit('/', 1)[1] 
 for i in s3_resource.Bucket(foo).objects.filter(Delimiter='/', Prefix='poo/')
 if i.key.rsplit('/', 1)[1] != '']

должно дать

['a.png', 'b.png', 'c.png', ...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...