用Python替换命令中的变量

时间:2018-10-23 09:49:08

标签: python bash python-2.7 variables

我是Python脚本的新手,正尝试通过传递一些动态值来运行API调用。

关于代码的一个简单的想法是,它在一个纪元(间隔10秒)中获得两个日期时间,并调用API来执行功能。

import commands
end = str(datetime.datetime.now().strftime("%s"))
start = str((datetime.datetime.now() - datetime.timedelta(seconds=10)).strftime("%s"))
output = commands.getstatusoutput("curl 'http://my-api-url/object?param1=1&start=$start&end=$end&function=average'")

由于变量startend未被扩展/替换,因此无法正常工作。

如您所见,我来自bash脚本,并尝试查看来自Web的多个变量替换命令,但此处没有发现我的情况的具体信息。

2 个答案:

答案 0 :(得分:1)

使用str.format

例如:

import commands
end = str(datetime.datetime.now().strftime("%s"))
start = str((datetime.datetime.now() - datetime.timedelta(seconds=10)).strftime("%s"))
output = commands.getstatusoutput("curl 'http://my-api-url/object?param1=1&start={start}&end={end}&function=average'".format(start=start, end=end))

答案 1 :(得分:1)

在Python中,您可以使用'+'运算符来连接字符串。 您可以写:

output = commands.getstatusoutput("curl 'http://my-api-url/object?param1=1&start=" + start + "&end=" + end + "&function=average'")