Разобрать URL и заменить переменные, если они есть - PullRequest
0 голосов
/ 15 января 2019

У меня есть URI, указанный в файле xls. Я хочу прочитать этот файл xls, получить оттуда URI, проанализировать его и заменить переменные (если они есть) соответствующими значениями, а затем выполнить вызов API для этого URI Например:

These are a few URI's in the xls sheet:
https://api.something.com/v1/me
https://api.something.com/v1/{user_id}/account

(где user_id - это переменная, которую необходимо заменить на соответствующее значение.) Существует ли простой способ проанализировать URI и проверить, присутствует ли там переменная, если да, получить значение переменной и форму новая строка со значением, а затем используйте URI для вызова API. Иначе используйте URI как есть.

Ответы [ 2 ]

0 голосов
/ 15 января 2019

К счастью, в Python есть встроенный механизм для обработки этого!

>>> 'https://api.something.com/v1/{user_id}/account'.format(user_id='my_id', unused_variable='xyzzy')
'https://api.something.com/v1/my_id/account'
0 голосов
/ 15 января 2019

Имена полей могут быть обнаружены с использованием stdlib string.Formatter:

>>> s = "https://api.something.com/v1/{user_id}/account"
>>> from string import Formatter
>>> parsed = Formatter().parse(s)
>>> field_names = []
>>> for literal_text, field_name, format_spec, conversion in parsed:
...     if field_name is not None:
...         field_names.append(field_name)
...         
>>> field_names
['user_id']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...