您好,我正在尝试阅读一个安静的api
self.opponent_movefourImages = []
for i in range(15): #needs to be 15
imgName = "opponentImages/opponent_movefour-e000%d.png" % i
tmpImage = pygame.image.load(imgName)
tmpImage = tmpImage.convert()
transColor = tmpImage.get_at((1, 1))
tmpImage.set_colorkey(transColor)
self.opponent_movefourImages.append(tmpImage)
我正在传递像这样的值
http://localhost:1010/productfamily?date=2015-08-28&list=abc,xyz
我没有得到想要的输出。如何以这种方式传递逗号分隔的字符串?
当我像这样传递它时,它会起作用
url = 'http://localhost:1010/productfamily'
sdate = '2015-08-28'
plist = 'abc,xyz'
params = (('date', sdate ), ('list', plist))
requests.get(url, params)
答案 0 :(得分:2)
问题在于你如何指定你的params,以及你如何传递它们。试试这个:
url = 'http://localhost:1010/productfamily'
sdate = '2015-08-28'
plist = 'abc,xyz'
params = {
'date': sdate,
'list': plist
}
requests.get(url, params = params)
答案 1 :(得分:2)
要为同一个密钥传递多个值,请传入一个dict
,其中包含一个可迭代的值
url = 'http://localhost:1010/productfamily'
params = {'sdate': '2015-08-28'}
params['plist'] = ('abc', 'xy')
requests.get(url, params)
修改强>
OP确实要求使用逗号分隔值列表,并且在注释中指出somewhatoff,此代码会生成多个key = value参数。话虽如此,OP还表示他们正在从API“读取”并发出GET请求,表明这不是他们正在创建的服务。虽然有关于如何提供多个值的 NO 规范,但我的经验是“大多数”服务器框架将接受这种格式的多个值,而且我还没有看到“在野外”需要的CSV格式。“
维基百科支持这一立场:https://en.wikipedia.org/wiki/Query_string#Web_forms
有关特定Web服务器行为的详细信息,请参阅此答案:https://stackoverflow.com/a/1746566/4075135
答案 2 :(得分:-1)
你需要将字典作为params而不是元组列表传递。
params = {
'date': sdate,
'list': plist,
}
requests.get(url, params)