Python, opposite function urllib.urlencode

后端 未结 3 937
既然无缘
既然无缘 2020-11-30 21:57

How can I convert data after processing urllib.urlencode to dict? urllib.urldecode does not exist.

3条回答
  •  旧时难觅i
    2020-11-30 23:01

    Python 3 code for Alex's solution:

    >>> import urllib.parse
    >>> d = {'a':'b', 'c':'d'}
    >>> s = urllib.parse.urlencode(d)
    >>> s
    'a=b&c=d'
    >>> d1 = urllib.parse.parse_qs(s)
    >>> d1
    {'a': ['b'], 'c': ['d']}
    

    The alternative:

    >>> sq = urllib.parse.parse_qsl(s)
    >>> sq
    [('a', 'b'), ('c', 'd')]
    >>> dict(sq)
    {'a': 'b', 'c': 'd'}
    

    parse_qsl is reversible:

    >>> urllib.parse.urlencode(sq)
    'a=b&c=d'
    

提交回复
热议问题