admin 管理员组

文章数量: 1184232

昨天一个python方法中用了urllib模块,后来用requests模块重新实现了功能,但出现值为None的键无法添加到url中的情况。

#urllib模块

def process(self,q):
        url = ""
        url = "%s%s" %(url, urllib.urlencode({<strong>"text": q.get('text'</strong>)}))
        return json.loads(urllib.urlopen(url).read())

#requests模块

def process(self,q):
        url = ""
        payload = {<strong>"text":q.get('text')</strong>}
        r = requests.get(url,params=payload)
        result = r.json()
        return result

后来,在requests的文档中找到了原因:


在requests中,字典值为None的键不会被添加到查询字符串中。而直接拼接生成url的urllib模块则不会出现这样的问题。

我想,这样可能会造成一些问题。例如:某些值为None的参数其实是可以返回结果的。比如

其实是可以查询到结果的。
如何解决这个问题还需要想想

本文标签: 的键无法 添加到 编程