Побег из HTML%20
Я работаю над чем-то в Python, и мне нужно выйти из%20, пробел в URL. Например:
"%20space%20in%20%d--" % ordnum
Поэтому мне нужно использовать% 20 для URL, а затем% d для числа. Но я получаю эту ошибку:
TypeError: not enough arguments for format string
Я знаю, в чем проблема, я просто не знаю, как вырваться из% 20 и исправить это.
4 ответа
Решение
Одним из способов было бы удвоить %
персонажи:
"%%20space%%20in%%20%d--" % ordnum
но, вероятно, лучше использовать urllib.quote_plus()
:
urllib.quote_plus(" space in %d--" % ordnum)
%20 должен выглядеть как %%20, когда его увидит средство форматирования Python. Для Python %% форматируется в%.
>>> import urllib
>>> unquoted = urllib.unquote("%20space%20in%20%d--")
>>> ordnum = 15
>>> print unquoted % ordnum
space in 15--
Я вижу три способа решить эту проблему:
Побег %.
"%%%20dogs" % 11
Используйте новый синтаксис .format.
"{}%20dogs".format(11)
Используйте знак + вместо % 20, так как я думаю, что это также возможно.
"%+dogs" % 11