Задать вопрос
@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"'


В чем дело?
  • Вопрос задан
  • 223 просмотра
Подписаться 1 Простой 6 комментариев
Решения вопроса 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)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
AST Москва
До 350 000 ₽
20 янв. 2025, в 14:23
5000 руб./за проект
20 янв. 2025, в 13:50
15000 руб./за проект