Как я могу напечатать буквенные фигурные скобки в строке Python, а также использовать .format на нем?

В настоящее время PyCharm не знает соглашения ORM SQLAlchemy, поэтому обычно он не знает реальных типов полей модели. Если вы хотите получить специальную поддержку SQLAlchemy в PyCharm, не стесняйтесь проголосовать за проблему PY-4186 в трекере PyCharm.

Обновление: PY-4536 был исправлено в 2013 году. Как упоминается ниже, все еще существует проблема, если вы используете Mixins, см. PY-12002 .

1213
задан dreftymac 20 September 2017 в 18:56
поделиться

2 ответа

Можно сделать это при помощи символа ESC, '\' перед фигурными скобками.

# to print '{I am inside braces}'
print('\{I am inside braces\}')

Примечание, что символы ESC также используются, чтобы сделать некоторый специальный тип задач, как - '\n' для новой строки, '\t' для tabspace. Так, используйте их соответственно.

-2
ответ дан Harsh Aggarwal 14 September 2019 в 16:34
поделиться

Я недавно столкнулся с этим, потому что я хотел ввести строки в предварительно отформатированный JSON. Мое решение состояло в том, чтобы создать вспомогательный метод, как это:

def preformat(msg):
    """ allow {{key}} to be used for formatting in text
    that already uses curly braces.  First switch this into
    something else, replace curlies with double curlies, and then
    switch back to regular braces
    """
    msg = msg.replace('{{', '<<<').replace('}}', '>>>')
    msg = msg.replace('{', '{{').replace('}', '}}')
    msg = msg.replace('<<<', '{').replace('>>>', '}')
    return msg

можно затем сделать что-то как:

formatted = preformat("""
    {
        "foo": "{{bar}}"
    }""").format(bar="gas")

Сделали задание, если производительность не является проблемой.

1
ответ дан 19 December 2019 в 20:15
поделиться
Другие вопросы по тегам:

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