格式化URL字符串

时间:2013-04-15 20:43:51

标签: string formatting python-3.3

我有一个被删除标点符号的城市列表,我需要正确格式化网址。我的列表是['New','York','NY']和['Lansing','MI'],我需要格式化查询,以便参数分配由(&)符号和单词中的单词分隔。城市由(+)标志分隔。

例如,它应该类似于www.url.com/origin=New+York+NY&destination=Lansing+MI

1 个答案:

答案 0 :(得分:2)

来自the urllib docs

  

将映射对象或两元素元组序列转换为“百分比编码”字符串

所以

urllib.parse.urlencode({
  'origin'      : ' '.join(['New', 'York', 'NY']),
  'destination' : ' '.join(['Lansing', 'MI'])
})

产量

'origin=New+York+NY&destination=Lansing+MI'

该文档引用了过时的RFC 2396,但RFC 3986和2396之间的差异不会影响查询字符串的组成。