[英]How to change a value in a parameter in python from parse_qsl?
我需要在參數q上添加+ four並在進行修改后取消解析查詢字符串。 我遇到的問題是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')]
我不確定我是否正確理解了您的問題,這是您想要的嗎?
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')]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.