在u中使用Python命名键和值对字典进行Urlencode

2024-09-30 10:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用urllib和urlencode生成以下格式的URL链接。在

<img src=page.psp?KEY=%28SpecA%2CSpecB%29&VALUE=1&KEY=%28SpecA%2C%28SpecB%2CSpecC%29%29&VALUE=2>

我正在尝试使用字典中的数据输入到urllib.urlencode()函数但是,我需要将它转换成键和值具有变量名的格式,如下所示。所以我字典中的键将=NODE,而values将=VALUE。在

^{pr2}$

我遇到的问题是,我想要上面的URL,而不是KEY=(SpecA,SpecB)NODE=1,KEY=(SpecA,SpecB,SpecC)NODE=2,这是我想要的。在

KEY=%28SpecA%2CSpecB%29%2C%28%28SpecA%2CSpecB%29%2CSpecC%29&VALUE=1%2C2 

到目前为止,我已经从字典中提取了键和值,提取到元组、列表、字符串中,还尝试了dict.项目()但它没有太大帮助,因为我仍然无法使它进入我想要的格式。另外,我使用Python服务器页面来实现这一点,这就是为什么我总是要将内容打印为字符串,因为字符串错误不断。这是我目前所拥有的部分:

k = (str(dict))
ver1 = dict.keys()
ver2 = dict.values()

new = urllib.urlencode(function)
f = urllib.urlopen("page.psp?%s" % new)

我想知道在从字典中提取值/将它们转换为不同格式以获得我想要的输出方面,我需要做些什么改变?任何帮助将不胜感激,我可以添加更多我的代码(因为它已经变得凌乱)如果需要的话。谢谢。在


Tags: key字符串nodeurl字典value格式page
1条回答
网友
1楼 · 发布于 2024-09-30 10:31:55

这将为您提供所需的格式:

data = {
    '(SpecA,SpecB)': 1,
    '(SpecA,SpecB,SpecC)': 2,
}

params = []
for k,v in data.iteritems():
    params.append(('KEY', k))
    params.append(('VALUE', v))

new = urllib.urlencode(params)

请注意,由于dicts是无序的,因此键/值对可能不是您想要的顺序。在

相关问题 更多 >

    热门问题