url查询解析干净

  • 本文关键字:查询 url python urllib
  • 更新时间 :
  • 英文 :


目前,每当我需要解析查询字符串时,我最初做的是

 from urllib import parse
 path = parse.urlparse(self.path)
 query = parse.parse_qs(path.query)
 value = query[name][0]

但是我不喜欢在我的代码中点缀[0] -它感觉是错误的以某种难以确定的方式,所以我意识到我可以做

 from urllib import parse
 path = parse.urlparse(self.path)
 query = dict(parse.parse_qsl(path.query))
 value = query[name]

这样做的优点是删除了[0],但它有丢弃多个值的风险(这对于我的应用程序来说应该是好的,因为它不应该接收多个值)。

是否有一种更清晰的解析urlencoded字符串的方法,它给你一个最小值的dict:值,如果只有一个值,或一个列表,如果有多个?

这样做的函数应该不会太难,但我很好奇是否有一个库可以做到这一点,所以我不需要重新发明轮子。

一般来说,如果您有这样一个字典query,您总是可以执行

query = {[(k, v[0] if len(v) == 1 else v) for k, v in query.iteritems()]}

然而,我真的不喜欢这段代码,因为它只会产生一些不直观的东西。

相关内容

  • 没有找到相关文章

最新更新