如何从parseqsl更改python中参数中的值?

2024-09-22 16:36:09 发布

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

我需要在参数q中添加+4,并在修改后取消解析查询字符串。我遇到的问题是parse_qsl在列表中提供元组,因此我无法修改元组。我不能使用parse_qs,因为我有多个同名参数。在这种情况下,如何修改q参数并取消分析查询

from urllib import parse
url = 'https://www.test.com/search?q=one+two+three&array[]=apple&array[]=oranges'
parts = parse.urlparse(url)
querys = parse.parse_qsl(parts.query)

# >>> querys
# [('q', 'one two three'), ('array[]', 'apple'), ('array[]', 'oranges')]

Tags: 字符串urlapple列表参数parsearrayone
1条回答
网友
1楼 · 发布于 2024-09-22 16:36:09

我不确定我是否正确理解了你的问题,这是你想要的吗

from urllib import parse

url = 'https://www.test.com/search?q=one+two+three&array[]=apple&array[]=oranges'
parts = parse.urlparse(url)
querys = [list(q) for q in parse.parse_qsl(parts.query)]

for q in querys:
    if q[0] == 'q':
        q[1] = q[1] + ' four'

print([tuple(q) for q in querys])
#[('q', 'one two three four'), ('array[]', 'apple'), ('array[]', 'oranges')]

相关问题 更多 >