Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将JSON字符串与另一个字符串连接_Json_Python 2.7_Aws Ec2 - Fatal编程技术网

在Python中将JSON字符串与另一个字符串连接

在Python中将JSON字符串与另一个字符串连接,json,python-2.7,aws-ec2,Json,Python 2.7,Aws Ec2,我有一本字典如下 (Pdb) interface_list [{'DeviceIndex': 0, 'NetworkInterfaceId': u'eni-2b9dcb04', 'DeleteOnTermination': True}, {'DeviceIndex': 1, 'NetworkInterfaceId': u'eni-289dcb07', 'DeleteOnTermination': True}] 现在我将其转换为JSON字符串,如下所示 (pdb)!interface_list1

我有一本字典如下

(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'>
(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}]'
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命令所要求的格式

如何在接口_list1变量周围用引号连接

注: 我试过以下方法

 '[{"DeviceIndex": 0, "NetworkInterfaceId": "eni-2b9dcb04", "DeleteOnTermination": true}, {"DeviceIndex": 1, "NetworkInterfaceId": "eni-289dcb07", "DeleteOnTermination": true}]'
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再次不接受斜杠。所以我不想要斜杠,但我想要单引号。aws cli也不接受双引号。

我认为您正在组合多种编码,正如字典中的一个字符串前面有一个
u
所示。和
在连接所有字符串之前对其进行规范化

“协调”-连接?!连接,当我执行interface_list1=json时编辑了问题。转储(interface_list)其转换为字符串并删除unicode(u)在连接之前将所有字符串解码为ascii:
str1.Decode('ascii')+'literal_string'。Decode('ascii'))
--如果这样做有效,那么您就知道问题出在多个编码上。尝试解码,但当我像这样连接时,它总是添加“甚至认为我只是添加而已”