在 python 中的 aws 命令中添加双引号
Add double quotes in aws command in python
下面是我需要的输出。
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 脚本 中使用的类似语法及其工作正常。
aws cognito-idp list-users --region "$region" --user-pool-id "$userpool_id" --filter "email = \"$email\"" --query 'Users[0].Username' --output text
谁能帮帮我?
这可能与其他问题类似,但我需要在命令中使用额外的双引号。
UPDATE:
我可以使用下面的命令得到类似 "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"
但我需要在电子邮件 ID 的双引号前加一个反斜杠。
谢谢!
尝试使用 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)
解法:
"aws cognito-idp list-users --region "+region+" --user-pool-id "+user_pool_id+" --filter \"email = \\""+email+"\\"\" --query 'Users[0].Username' --output text"
\\" 将添加反斜杠和双引号。:)
下面是我需要的输出。
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 脚本 中使用的类似语法及其工作正常。
aws cognito-idp list-users --region "$region" --user-pool-id "$userpool_id" --filter "email = \"$email\"" --query 'Users[0].Username' --output text
谁能帮帮我?
这可能与其他问题类似,但我需要在命令中使用额外的双引号。
UPDATE:
我可以使用下面的命令得到类似 "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"
但我需要在电子邮件 ID 的双引号前加一个反斜杠。
谢谢!
尝试使用 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)
解法:
"aws cognito-idp list-users --region "+region+" --user-pool-id "+user_pool_id+" --filter \"email = \\""+email+"\\"\" --query 'Users[0].Username' --output text"
\\" 将添加反斜杠和双引号。:)