如何将命令行参数传递给 url 字符串

How to pass command line arguments to a url string

我正在使用 python 中的请求从 url 下载一份报告,如下所示:

dls = 'http://somepage/reporting?tags=name&daysback=days'
resp = requests.get(dls)

我想要的是上面 url 中的 'tag' 和 'daysback' 是使用 sys argv 在命令行中传递的参数。

例如,我想要这样的东西:

try:
     tag = sys.argv[1]
     daysback = sys.argv[2]
except IndexError:
     raise IndexError('Example/ python script.py [tag] [daysback]')

所以如果我的标签名称是 'produce' 并且 'daysback' 是 10,例如:

我希望 url 看起来像这样:

dls = 'http://somepage/reporting?tags=produce&daysback=10'

命令行参数为:

python script.py [produce] [10]

有谁知道我该怎么做?

import sys

tag = sys.argv[1]
daysback = sys.argv[2]

url = 'http://somepage/reporting?tags=' + tag + '&daysback=' + daysback

resp = requests.get(url)

或者:

url = 'http://somepage/reporting?tags={}&daysback={}'.format(tag, daysback)