Преобразование пробелов в %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 ответа:
Используйте метод
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]