@albertalexandrov

Строковый format и KeyError?

Привет!)

Казалось бы простая задача:

code = '''
    return API.users.get({"user_ids": {}, "fields": "bdate"});
'''.format(",".join(map(str, (random.randint(1, 1000000) for _ in range(1000)))))
print(code)


Но... Получаю ошибку:

Traceback (most recent call last):
File "C:/alexandrov/python/code.py", line 6, in
'''.format(",")
KeyError: '"user_ids"'


В чем дело?
  • Вопрос задан
  • 218 просмотров
Решения вопроса 2
longclaps
@longclaps
Конструкция '''{"user_ids": {}, "fields": "bdate"}''' воспринимается как сложный формат, требующий двух параметров, да ещё именованых (да-да, вложеные скобки и двоеточия - это засада).
Выкрутитесь как-нибудь, способов много.
Ответ написан
netpastor
@netpastor
Python developer
user_ids = ",".join(map(str, (random.randint(1, 1000000) for _ in range(1000))))
code = f'return API.users.get({{"user_ids": {user_ids}, "fields": "bdate"}});'
print(code)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы