2015-12-04 82 views
-2

我是新來的python和研究日誌(可能是錯誤的方式),現在決定問:Python和變量

我有一個bash腳本,它輸出兩個值。在Python腳本我調用這個這個劇本由

subprocess.Popen(...skript details...) 
(output, err) = p.communicate() 
p_status = p.wait() 
print "Command output : ", output 
print "Command exit status/return code : ", p_status 
value1, value2 = output.split(' ',1) 

如果我現在添加

print value1 

我得到我期望(數值)。

現在我從github獲得了一些代碼來使用curl在python腳本中發佈數據。這樣構建的機構就像

body='{"mode":"async", "messageType":"1", "messages":[{"Name of Value1":value1, "Name of Value2":value2}]}' 

但是,發佈的內容是文本「value1」和「value2」,而不是變量的實際值。我在這裏嘗試了很多掩蔽,但無法獲得任何有價值的結果。 Thx提前

+1

「溫度」和「溼度」?這些名稱中的變量或值都不會顯示在您發佈的任何代碼中。請澄清你的問題。 – BrenBarn

+0

檢查,這些實際上是值1和2 ...更正 – Steffen

回答

2

如果我理解你正確,你需要字符串格式。

body='{"mode":"async", "messageType":"1", "messages":[{"Name of Value1":{0}]}'.format(value1) 

它通過內置format功能完成。

以下是你需要什麼你的例子做:

>>> humidity = 99 

>>> temp = 100 

>>> print "[ {{ temperature: {0}, humidity: {1} }} ]".format(temp, humidity) 

[ { temperature: 100, humidity: 99 } ] 

注:從格式化使用雙括號{逃脫} {{}}左右。

+0

Thx,我認爲這不完全是我需要的。把它不同:值1是溼度,例如57.5。我需要類似[{「Humidity」:57.5}] – Steffen

+0

你在value1變量裏面有什麼,你想在你的身體字符串裏面有什麼? – wolendranh

+0

Value1被稱爲「溼度」,幷包含一個數字值,如「57.5」。從我的身體字符串,我得到以下貼:{「溼度」:潮溼}(第一是正確的,但第二是錯誤的,應該是變量的數字內容)。 – Steffen