python请求:如何定义OR参数

时间:2012-07-11 03:51:49

标签: python parameters logical-operators python-requests

我正在使用python中的requests模块构建API查询的URL。以下是我正在使用的代码:

Params = {'q':'3145','organism':'9606'}
results = requests.get("http://www.pathwaycommons.org/pc2/search.xml",params=Params)
print results.url  #http://www.pathwaycommons.org/pc2/search.xml?q=3146&organism=9606

我想在q参数(q = 3145或177)中添加OR条件。最终网址为http://www.pathwaycommons.org/pc2/search.xml?q=3146|177&organism=9606。如果我使用Params = {'q':['3145','177'],'organism':'9606'},则输出网址为"http://www.pathwaycommons.org/pc2/search.xml?q=3146&q=177&organism=9606"。我没有找到有关如何为OR条件定义参数字典的任何信息。有人可以提出一些想法吗?

提前谢谢。

温迪

1 个答案:

答案 0 :(得分:5)

这是我第一次看到这种“OR”语法,所以我不确定它是不是标准。

无论如何,你可以只是join参数列表来创建一个字符串,如下所示:

params = {
  'q': '|'.join(['3145','177']),
  'organism': '9606'
}