Как в url вставить различное количество переменных?
Существует url, которую необходимо редактировать перед отправлением на сервер:
url = https://market.com/api/stores/1950/products?tid=paskha/iaitsa&sort=popularity
Когда я знаю количество переменных с заменой проблем нет:
store_id = '1950'
category = 'paskha'
subcategory = 'iaitsa'
moditify_url = f"https://market.com/api/stores/{ store_id }/products?tid={ category }/{ subcategory }&sort=popularity".format()
Но встала проблема количество переменных может быть различным:
store_id = '1950'
katalog = 'market_name' # Появилась еще одна переменная !
category = 'paskha'
subcategory = 'iaitsa'
moditify_url = f"https://market.com/api/stores/{ store_id }/products?tid={ katalog }/{ category }/{ subcategory }&sort=popularity".format()
Как редактировать url при различном количестве переменных?
Ответы (1 шт):
Автор решения: Andy Pavlov
→ Ссылка
Можно собрать все переменные через параметры метода *args, таким образом, чтобы первый был store_id, а остальные с помощью str.join() собрать в переменную url.
def make_path(*args):
store_id = args[0]
path_vars = '/'.join(args[1:])
return f"https://market.com/api/stores/{ store_id }/products?tid={ path_vars }&sort=popularity"
store_id = '1950'
katalog = 'market_name'
category = 'paskha'
subcategory = 'iaitsa'
print(make_path(store_id, katalog, category, subcategory))
# https://market.com/api/stores/1950/products?tid=market_name/paskha/iaitsa&sort=popularity