Преобразование пробелов в %20 в списке


Мне нужно преобразовать пробелы в %20 для сообщений api в массиве python

tree = et.parse(os.environ['SPRINT_XML'])
olp = tree.findall(".//string")
if not olp:
  print colored('FAILED', 'red') +" No jobs accociated to this view"
  exit(1)
joblist = [t.text for t in olp]

Как я могу сделать это с текстом выше?

3 5

3 ответа:

Используйте метод String.replace(), как описано здесь: http://www.tutorialspoint.com/python/string_replace.htm

Так что для t.text это будет t.text.replace(" ", "%20")

Я бы рекомендовал использовать модуль urllib.parse и его функцию quote(). https://docs.python.org/3.6/library/urllib.parse.html#urllib.parse.quote Пример для Python3:

import urllib
text_encoded = urllib.parse.quote(t.text)

Примечание: использование quote_plus() не будет работать в вашем случае, так как эта функция заменяет пробелы на плюс символ.

Используйте urllib.quote_plus для этого:

import urllib

...

joblist = [urllib.quote_plus(t.text) for t in olp]