我有一本字典如下
(Pdb) interface_list
[{'DeviceIndex': 0, 'NetworkInterfaceId': u'eni-2b9dcb04', 'DeleteOnTermination': True}, {'DeviceIndex': 1, 'NetworkInterfaceId': u'eni-289dcb07', 'DeleteOnTermination': True}]
现在我将其转换为 JSON 字符串,如下所示,
(pdb)!interface_list1 = json.dumps(interface_list)
(pdb)interface_list1
'[{"DeviceIndex": 0, "NetworkInterfaceId": "eni-2b9dcb04", "DeleteOnTermination": true}, {"DeviceIndex": 1, "NetworkInterfaceId": "eni-289dcb07", "DeleteOnTermination": true}]'
(Pdb) type(interface_list1)
<type 'str'>
现在我尝试将这个 JSON 字符串与另一个字符串连接起来,如下所示,
(Pdb) !cmd = "aws ec2 run-instances --instance-type " + Image_type + " --network-interfaces " + interface_list1 + " --image-id " + Ami_ID + " --no-verify-ssl --endpoint-url " + end_point_url
(Pdb) cmd
'aws ec2 run-instances --instance-type m3.large --network-interfaces [{"DeviceIndex": 0, "NetworkInterfaceId": "eni-2b9dcb04", "DeleteOnTermination": true}, {"DeviceIndex": 1, "NetworkInterfaceId": "eni-289dcb07", "DeleteOnTermination": true}] --image-id ami-879f4bec --no-verify-ssl --endpoint-url https://ec2.us-east-1.amazonaws.com'
它没有在以下内容周围添加引号,
'[{"DeviceIndex": 0, "NetworkInterfaceId": "eni-2b9dcb04", "DeleteOnTermination": true}, {"DeviceIndex": 1, "NetworkInterfaceId": "eni-289dcb07", "DeleteOnTermination": true}]'
由于这个问题,当我执行系统命令时,我收到一个错误,它不是 aws cli 命令所需的格式。
如何与 interface_list1 变量周围的引号连接?
注意:我尝试了以下方法,
cmd = "aws ec2 run-instances --instance-type \'" + Image_type + "\' --network-interfaces " + interface_list1 + " --image-id " + Ami_ID + " --no-verify-ssl --endpoint-url " + end_point_url
但是 \' 也被连接起来,因此 aws cli 再次不接受 slash 。所以我不想要斜线,但我想要单引号 '. aws cli 也不接受双引号。