У меня была та же проблема, но мне удалось разрешить ее с помощью boto3.client
и list_objects_v2
с параметрами Bucket
и StartAfter
.
s3client = boto3.client('s3')
bucket = 'my-bucket-name'
startAfter = 'firstlevelFolder/secondLevelFolder'
theobjects = s3client.list_objects_v2(Bucket=bucket, StartAfter=startAfter )
for object in theobjects['Contents']:
print object['Key']
Результат вывода для приведенного выше кода отобразится следующее:
firstlevelFolder/secondLevelFolder/item1
firstlevelFolder/secondLevelFolder/item2
Boto3 list_objects_v2 Документация
Чтобы вырезать только имя каталога для secondLevelFolder
, я просто использовал метод python split()
:
s3client = boto3.client('s3')
bucket = 'my-bucket-name'
startAfter = 'firstlevelFolder/secondLevelFolder'
theobjects = s3client.list_objects_v2(Bucket=bucket, StartAfter=startAfter )
for object in theobjects['Contents']:
direcoryName = object['Key']..encode("string_escape").split('/')
print direcoryName[1]
Результат вывода для приведенного выше кода отобразит следующее:
secondLevelFolder
secondLevelFolder
Если вы хотите получить имя каталога и имя элемента содержимого, замените строку печати следующим образом:
print "{}/{}".format(fileName[1], fileName[2])
И будет выведено следующее:
secondLevelFolder/item2
secondLevelFolder/item2
Надеюсь, это поможет
Похоже, ваш FFMPEG не был скомпилирован с libmp3lame. См. Этот пост:
https://superuser.com/questions/196857/how-to-install-libmp3lame-for-ffmpeg
Если вы не можете откомпилируйте его самостоятельно, вам придется искать бинарный файл, который его поддерживает.
Попробуйте, это сработало для меня.
sudo apt-get install ffmpeg libavcodec-extra-52
Для Ubuntu 11.10:
sudo apt-get install ffmpeg libavcodec-extra-53
Для Ubuntu 11.04, 10.10, 10.04:
sudo apt-get install ffmpeg libavcodec-extra-52