首页 > 解决方案 > 在 Python 中的命令中替换变量

问题描述

我是 Python 脚本的新手,我试图运行一个传递了一些动态值的 API 调用。

关于代码的一个简单想法是,它在 epoch 中获取两个日期时间(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 上查看几个变量替换命令,但没有找到与我的案例相关的具体内容。

标签: pythonbashpython-2.7variables

解决方案


采用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))

推荐阅读