Из строки в fstring

Я пытаюсь вытащить строку из JSON, а затем преобразовать ее в строку f для динамического использования. Пример Назначено из JSON, который я получаю

who_fault= {имя} начал весь этот беспорядок

Как построить лямбду, чтобы преобразовать ее в f-строку и вставить заданную переменную? Я просто не могу уложиться в голове. Я знаю, что подобные вопросы задавались, но, похоже, ни один ответ не подходит для этого.

Лучше вопрос. Какой самый питонический способ вставить переменную в строку (которая изначально не может быть создана как f-строка)? Моей целью была бы лямбда-функция, если это возможно. Суть в том, чтобы вставить одну и ту же переменную в любую строку, указанную там, где указана указанная строка.


person Starscream    schedule 02.01.2021    source источник
comment
f-строки позволяют выполнять произвольный код. Кто-то может установить программу-вымогатель или отправить личные данные ваших клиентов по электронной почте в Нигерию. Это плохая идея - используйте что-то другое.   -  person user2357112 supports Monica    schedule 02.01.2021
comment
Я не использую Python, но, насколько я могу судить, f-строка — это строковый литерал, который поддерживает интерполяцию как часть литерального синтаксиса. Таким образом, это конструкция исходного кода. Вы не можете создать его динамически во время выполнения (если я правильно читаю) (если только у Python нет средств, позволяющих вам выполнять код в строке, что было бы проблематично с точки зрения безопасности).   -  person T.J. Crowder    schedule 02.01.2021
comment
В питоне нет такой вещи, как f-строка. Это просто функция, позволяющая вам выполнять код вместо использования конкатенации. Итак, если у вас есть переменная x= 1011, вы можете создать другую строку, содержащую в себе переменную x. Как и y = f"its now {x*2}", теперь y является строкой. не функция или тип   -  person Aven Desta    schedule 02.01.2021


Ответы (1)


В python нет такой вещи, как объект типа f-string. Это просто функция, позволяющая выполнять код и форматировать строку. Итак, если у вас есть переменная x= 2020, вы можете создать другую строку, содержащую в себе переменную x. Нравиться

y = f"It is now {x+1}". Теперь y — это строка, а не новый тип объекта, а не функция.

person Aven Desta    schedule 02.01.2021