简体   繁体   English

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

[英]How to pass command line arguments to a url string

I have a report I'm downloading from a url using requests in python like this: 我有一个报告是使用python中的请求从URL下载的,如下所示:

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

What I want is for 'tag' and 'daysback' in the url above to be arguments passed in the command line using sys argv. 我想要的是上面URL中的“ tag”和“ daysback”,它们是使用sys argv在命令行中传递的参数。

For example, I want something like this: 例如,我想要这样的东西:

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

So if my tag name was 'produce' and 'daysback' was 10, for example: 因此,例如,如果我的标签名称是“ produce”而“ daysback”是10,则:

I'd expect the url to look like this: 我希望网址看起来像这样:

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

and command line argument to be: 和命令行参数为:

python script.py [produce] [10]

Does anyone know how I can do this? 有人知道我该怎么做吗?

import sys

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

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

resp = requests.get(url)

Alternatively: 或者:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM