我试图通过加入一些动态组件来构建一个URL.我想os.path.join()在我的案例中使用像BUT这样的URL.从研究中我发现urlparse.urljoin()了同样的事情.但是,它看起来一次只需要两个参数.
到目前为止我有以下工作,但看起来很重复:
a = urlparse.urljoin(environment, schedule_uri)
b = urlparse.urljoin(a, str(events_to_hours))
c = urlparse.urljoin(b, str(events_from_date))
d = urlparse.urljoin(c, str(api_version))
e = urlparse.urljoin(d, str(id))
url = e + '.json'
Run Code Online (Sandbox Code Playgroud)
输出= http://example.com/schedule/12/20160322/v1/1.json
上面的工作,我试图这样缩短:
url_join_items = [environment, schedule_uri, str(events_to_hours),
str(events_from_date), str(api_version), str(id), ".json"]
new_url = ""
for url_items in url_join_items:
new_url = urlparse.urljoin(new_url, url_items)
Run Code Online (Sandbox Code Playgroud)
输出: http://example.com/schedule/.json
但第二个实现不起作用.请建议我如何解决这个或更好的方法.
编辑1:reduce解决方案的输出看起来像这样(不幸的是):输出:http://example.com/schedule/.json