我可以将字典转换为网址吗?

时间:2017-02-07 05:07:47

标签: python-2.7 url urlparse

例如,我有以下网址格式:

url_pattern = {
    "scheme": "http",
    "netloc": "for.example.com",
    "path": "/ex1",
    "params": "",
    "query": a=b&c=d,
    "fragment": ""
}

就像urlparse.urlparse("http://for.example.com/ex1?a=b&c=d")输出的倒数一样。我可以从字典中获取网址吗?

2 个答案:

答案 0 :(得分:2)

urlparse生成ParseResult个对象。因此,只需构造ParseResult的对象并使用geturl()方法生成URL。

>>> url_pattern = {
    "scheme": "http",
    "netloc": "for.example.com",
    "path": "/ex1",
    "params": "",
    "query": "a=b&c=d",
    "fragment": ""
}
>>> from urlparse import ParseResult
>>> ParseResult(**url_pattern).geturl()
'http://for.example.com/ex1?a=b&c=d'

答案 1 :(得分:0)

def geturl(pattern):
    return pattern["scheme"] + "://" + pattern["netloc"] + pattern["path"] + ("?" if pattern["query"]) + pattern["query"]

应该运作良好。