Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中命令中的替换变量_Python_Bash_Python 2.7_Variables - Fatal编程技术网

Python中命令中的替换变量

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

我是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'")
当变量
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风格的各种版本)。有关如何在字符串中插入值的信息,请参见。