Я пытаюсь удалить определенные элементы из строки запроса, лучший способ сделать это - проанализировать строку запроса, перебрать и удалить конкретный ключ, который я не хочу, и присоединить его обратно вместе.Urlecoding строка из словаря
Следуя руководству python, кажется, что функция urlencode, которую они используют, не работает, как и следовало ожидать.
Подберите следующий код, который просто анализирует строку запроса и затем соединяет ее вместе. Я установил его для сохранения пустого значения.
>>> f = 'name=John%20Doe&seq=123412412412&wer'
>>> q = urlparse.parse_qs(f, keep_blank_values=True)
>>> q
{'wer': [''], 'name': ['John Doe'], 'seq': ['123412412412']}
>>> urllib.urlencode(q)
'wer=%5B%27%27%5D&name=%5B%27John+Doe%27%5D&seq=%5B%27123412412412%27%5D'
Я ожидаю, что результат кода запроса будет таким же, как строка f.
http://docs.python.org/2/library/urlparse.html#urlparse.parse_qs
Use the urllib.urlencode() function to convert such dictionaries into query strings.
Так что я полагаю, я должен цикл по переменному д и построить строку вручную, вызывая UrlEncode по каждому пункту словаря? Не есть ли лучший способ ...
Использование Python 2.7
Благодарности