如何通过url传递列表值

时间:2014-03-01 06:02:30

标签: python list url

我编写了一个python脚本,我在列表中收集了一些值。我需要将这些值传递给循环中的URL,每次拾取一个不同的值 我想,我想实现这个目标:

http://www.abc.com/xyz/pqr/symbol=something[i].

这里“某事”是一个列表,我已经确认它包含正确的值。但是,当我将值传递给URL时,我无法获得所需的结果。我尝试使用something[i]的网址编码,但它仍然没有给我正确的结果。有人能帮我吗?

编辑:我目前的示例脚本是:

import json
script=["Linux","Windows"]
for i in xrange(len(script)):
    site="abc.com/pqr/xyz/symbol=json.dumps(script[i])"; 
    print site 

1 个答案:

答案 0 :(得分:1)

我认为问题在于您的格式化方法。如果您已经有一个列表并且只是尝试修改URL,那么您真的不需要json

import json
script=["Linux","Windows"]
something = ["first","second"]
for i,j in zip(script,something):
    site="http:abc.com/pqr/xyz/symbol={0}".format(j)
    print i, site

这使用.format()运算符,它将括号中的值“发送”到标有{}的位置的字符串中。如果总是在最后,你可以将字符串添加到一起。您也可以使用较旧的%运算符。它几乎完全相同,但在这种情况下,它会在j标记的位置插入字符串%s

site="http:abc.com/pqr/xyz/symbol=%s" % (j)

旁注:我稍微偏好%,因为一旦你学会了它,它也可以用在其他编程语言中,但是.format()有更多选项,recommended way就是这样做的从python 2.6开始。

输出:

Linux http:abc.com/pqr/xyz/symbol=first
Windows http:abc.com/pqr/xyz/symbol=second

你应该能够从这个起点接近你想要的东西,但如果这与你想要的输出完全不同,那么你需要在你的问题中澄清......