【问题标题】:How do I turn a dictionary into a string?如何将字典变成字符串?
【发布时间】:2011-01-13 01:07:33
【问题描述】:
params = {'fruit':'orange', 'color':'red', 'size':'5'}

我怎样才能把它变成一个字符串:

fruit=orange&color=red&size=5

【问题讨论】:

  • 这是用于创建 URL 还是用于其他目的?您希望如何处理字符串中的特殊字符?是否应该对它们进行转义以用作 URL?

标签: python string dictionary


【解决方案1】:

你可以这样做:

'&'.join('%s=%s' % (k,v) for k,v in params.items())

如果您正在为 URL 构建字符串,最好使用 urllib,因为这也会为您正确转义:

>>> params = { 'foo' : 'bar+baz', 'qux' : 'quux' }
>>> urllib.urlencode(params)
'qux=quux&foo=bar%2Bbaz'

【讨论】:

    【解决方案2】:

    如果您正在编码 url 参数,您可以使用urllib.urlencode 来完成此操作。例如:

    import urllib
    params = {'fruit':'orange', 'color':'red', 'size':'5'}
    encoding = urllib.urlencode(params)
    

    这也将通过urllib.quote_plus 运行字典。

    【讨论】:

      【解决方案3】:

      你是在问这个吗?

      >>> params = {'fruit':'orange', 'color':'red', 'size':'5'}
      >>> import urllib
      >>> urllib.urlencode( params )
      'color=red&fruit=orange&size=5'
      

      【讨论】:

        【解决方案4】:

        如果你想创建一个查询字符串,Python 自带电池:

         import urllib
         print(urllib.urlencode({'fruit':'orange', 'color':'red', 'size':'5'}))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-12-13
          • 2015-02-02
          • 2019-03-05
          • 1970-01-01
          • 2022-06-10
          • 1970-01-01
          • 1970-01-01
          • 2023-01-13
          相关资源
          最近更新 更多