关于谷歌的示例代码

时间:2013-07-06 01:30:55

标签: google-app-engine python-2.7

为什么要这样做

uri = urlparse(self.request.uri)
if uri.query:
    query = parse_qs(uri.query)
    try:
        query = query['query'][0]
    except KeyError, err:
        query = ''

而不仅仅是这个

query = self.request.get('query')

?两个代码块之间有什么区别?

源。 https://code.google.com/p/google-app-engine-samples/source/browse/trunk/search/python/search_demo.py?r=157

1 个答案:

答案 0 :(得分:2)

有一些差异。最大的问题是如果密钥query在uri中出现多次,则第一个版本将返回第一个实例,而第二个版本将返回最后一个实例。

此外,在第二个版本中,如果密钥不存在,您将获得None而不是''

v1的作者可能不信任webob正确解析他的查询字符串。