Python中命令中的替换变量
我是Python脚本编写方面的新手,尝试使用传递的一些动态值运行API调用 关于该代码的一个简单想法是,它以历元(10秒间隔)获取两个日期时间,并调用API来执行函数Python中命令中的替换变量,python,bash,python-2.7,variables,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 = comm
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'")
当变量start
和end
未展开/替换时,它不起作用
正如您所看到的,我来自bash脚本,并尝试从web上查看了几个变量替换命令,但在这里没有找到与我的案例相关的任何特定命令。使用
str.format
Ex:
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))
使用
str.format
Ex:
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))
在Python中,可以使用“+”运算符连接字符串。 在你的情况下,你可以写:
output = commands.getstatusoutput("curl 'http://my-api-url/object?param1=1&start=" + start + "&end=" + end + "&function=average'")
在Python中,可以使用“+”运算符连接字符串。 在你的情况下,你可以写:
output = commands.getstatusoutput("curl 'http://my-api-url/object?param1=1&start=" + start + "&end=" + end + "&function=average'")
试试
“curl”http://my-api-url/object?param1=1&start={}&end={}&function=average'.format(开始,结束)
。但是,如果你想这样做,你会损失比看Python文档更多的时间。Python不是PHP,它有一个C风格的字符串插值系统(从几乎C到C风格的各种版本)。有关如何在字符串中插入值的信息,请参见。请尝试“curl”http://my-api-url/object?param1=1&start={}&end={}&function=average'.format(开始,结束)
。但是,如果你想这样做,你会损失比看Python文档更多的时间。Python不是PHP,它有一个C风格的字符串插值系统(从几乎C到C风格的各种版本)。有关如何在字符串中插入值的信息,请参见。