Добавьте двойные кавычки в команду aws в python - PullRequest
0 голосов
/ 15 мая 2018

Ниже приведен мой требуемый вывод.

aws cognito-idp list-users --region "us-west-2" --user-pool-id "us-west-2_TEST" --filter "email = \"test@test.com\"" --query 'Users[0].Username' --output text

Я пытаюсь добиться этого синтаксиса, используя Python , но получаю некоторую синтаксическую ошибку.Я застрял.

aws cognito-idp list-users --region "+region+" --user-pool-id "+user_pool_id+" --filter \"email = \"+email+\"\" --query 'Users[0].Username' --output text

Обратите внимание, что похожий синтаксис, который я использую в Shell Script и работает нормально.

aws cognito-idp list-users --region "$region" --user-pool-id "$userpool_id" --filter "email = \"$email\"" --query 'Users[0].Username' --output text

Кто-нибудь может мне помочь?

Это может быть похоже на другие вопросы, но мне нужны дополнительные двойные кавычки внутри команды.

ОБНОВЛЕНИЕ:

Я могу получить что-то вроде "email =" test@test.com "" с помощью приведенной ниже команды.

"aws cognito-idp list-users --region "+region+" --user-pool-id "+user_pool_id+" --filter \"email = \""+email+"\"\" --query 'Users[0].Username' --output text"

Но мне нужна дополнительная обратная косая черта перед двойными кавычками идентификатора электронной почты.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Решение:

"aws cognito-idp list-users --region "+region+" --user-pool-id "+user_pool_id+" --filter \"email = \\\""+email+"\\\"\" --query 'Users[0].Username' --output text"

\\ " добавит обратную косую черту вместе с двойными кавычками.:)

0 голосов
/ 15 мая 2018

Попробуйте использовать str.format

Пример:

cmd = 'aws cognito-idp list-users --region "{0}" --user-pool-id "{1}" --filter \"email = \"{2}\" --query "{3}" --output text'.format("us-west-2", "us-west-2_TEST", "test@test.com",  Users[0].Username)
print(cmd)
...