#python #amazon-web-services #amazon-s3 #boto3
Вопрос:
Я пытаюсь перечислить сегменты с возможностью выбора одного из сегментов для загрузки файла с помощью интерфейса командной строки.
вывод этого кода всегда «Какие корзины вы хотите выбрать» и 1 имя корзины в момент, когда я нажимаю enter, затем в нем отображается «какая корзина..» и новая корзина. Мне нужен список и способ выбрать один из них для запуска, поместите объект в это ведро.
Мой Код:
s3 = boto3.client('s3') response = s3.list_buckets() # Output the bucket names print('Existing buckets:') for bucket in response['Buckets']: # print(f' {bucket["Name"]}') questions = [ inquirer.List('Buckets', message="Which bucket you would like to upload file? n", choices=[{bucket["Name"]}], ), ] answers = inquirer.prompt(questions)
Ответ №1:
Внимательно изучите свой код. Вы отображаете приглашение каждую отдельную итерацию, по одному разу для каждого блока.
Вместо этого вы должны предварительно создать список доступных сегментов и только затем отобразить приглашение:
s3 = boto3.client('s3') response = s3.list_buckets() list_of_buckets = [bucket["Name"] for bucket in response['Buckets']] questions = [ inquirer.List('Buckets', message="Which bucket you would like to upload file? n", choices=list_of_buckets) ] answers = inquirer.prompt(questions)