2015-12-04 44 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