在Python中我有以下字符串字符串Python中插入變量
body='{"mode":"sync","message":"43b","messages":[{"node1":44,"node2":45}]}'
我需要的變量v1
和v2
更換爲硬編碼值44
和45
。
我嘗試使用格式選項,但沒有似乎工作
在Python中我有以下字符串字符串Python中插入變量
body='{"mode":"sync","message":"43b","messages":[{"node1":44,"node2":45}]}'
我需要的變量v1
和v2
更換爲硬編碼值44
和45
。
我嘗試使用格式選項,但沒有似乎工作
您需要的字符串格式化:
>>> v1 = 44
>>> v2 = 45
>>> body='{"mode":"sync","message":"43b","messages":[{"node1":%s,"node2":%s}]}' % (v1, v2)
'{"mode":"sync","message":"43b","messages":[{"node1":40,"node2":45}]}'
它的工作。謝謝 –
很高興幫助。如果它適合你,請接受答案。 – AKS
v1 = 44
v2 = 45
body='{"mode":"sync","message":"43b","messages":[{"node1":%s,"node2":%s}]}' % (v1, v2)
使用%d
代替%s
如果你想要一個TypeError到,如果V1提高和/或v2不是整數。
感謝您的回覆。 –
使用json
模塊:
import json
body = '{"mode":"sync","message":"43b","messages":[{"node1":44,"node2":45}]}'
j = json.loads(body)
v1 = "foo"
v2 = "bar"
j["messages"][0]["node1"] = v1
j["messages"][0]["node2"] = v2
print(json.dumps(j))
輸出:
{"mode": "sync", "message": "43b", "messages": [{"node2": "bar", "node1": "foo"}]}
很高興看到我不是唯一一個,誰認爲JSON是正確的方式:) –
感謝您的答覆。 –
你可以轉換這個字符串快譯通,然後你就可以取代它是這樣的:
body='{"mode":"sync","message":"43b","messages":[{"node1":44,"node2":45}]}'
import json
body = json.loads(body)
print body
v1 = "aaa"
v2 = "bbb"
body["messages"][0]["node1"] = v1
body["messages"][0]["node2"] = v2
body = json.dumps(body)
print body
結果:
{ 「消息」: 「43B」, 「消息」:[{ 「節點1」: 「AAA」, 「節點2」: 「BBB」}], 「模式」: 「同步」}
下面是一個簡單的字符串格式化方法在python中插入字符串變量
a =「嗨,我的名字是{name}」; B = a.format(NAME = '酷怪胎')
那你試試,什麼也沒有工作? – AKS