Нода «Формат строки» (format string node)

Нода ":abbr:`Формат строки (Format String)`".

Нода „Format String“ вставляет значения в строку, используя либо синтаксис формата строки, совместимый с Python, либо синтаксис спецификатора формата Blender’а.

Эта нода упрощает построение строк, позволяя объединять и форматировать значения без преобразования чисел в строки или необходимости использования нескольких объединённых нод.

См. также

Ссылки на синтаксис Python: - Синтаксис строки формата Python, - Синтаксис строки формата {fmt}

Входы (inputs)

Формат (format)

Строка, использующая либо формат Python, либо спецификатор формата Blender’а. Например, Count: {} вставляет первое входное значение вместо {}.

Дополнительными входными значениями (Float, Integer или String) можно управлять в списке „элементов формата“ на боковой панели.

Свойства (properties)

Элементы формата (format items)

Поле «список» для управления динамическим списком входных данных, используемых в строке формата. Каждый элемент соответствует значению, которое можно вставить в формат с помощью заполнителя. Подробнее о том, как должны именоваться входные данные, см. в разделе «Поведение именования вводных данных».

Тип сокета (socket type)

Тип значения для этого входа:

Нецелое (float):

Число с плавающей запятой (например, 3.14).

Целое число (integer):

Целое число (например, 42).

Строка (string):

Текстовая строка.

Выходы (outputs)

Строка (string)

Форматированная строка.

Примечания

  • Поддерживает как безымянные ({}), так и названные ({имя}) заполнители. Однако все безымянные заполнители должны располагаться перед любыми названными.

  • Поддерживаются только входные данные типа float, integer и string.

  • Преобразования в стиле Python, такие как !r, не поддерживаются.

  • Доступ к податрибутам (например, {vector.x}) не поддерживается.

  • Процентное форматирование (например, %d, %s) не поддерживается.

  • Спецификаторы альтернативной формы, использующие # (например, {:#x}), не поддерживаются.

  • Форматирование на основе местоположения с использованием L (как в библиотеке fmt) не поддерживается.

  • Параметры группировки, такие как разделители тысяч (например, {:,} или {:_}), не поддерживаются.

Поведение именования вводных данных

Каждый вход должен иметь уникальное и допустимое имя-идентификатор, используемое в заполнителях (например, {value}). Эта нода использует специальную логику для автоматического назначения имён для новых входов:

  • При подключении, – используется первый символ имени связываемого сокета.

  • В противном случае, – имена по умолчанию будут состоять из букв от a до z.

  • При необходимости исходное имя сокета преобразуется в допустимый идентификатор.

  • Если все варианты не подходят, – добавляется уникальный суффикс (например, _001, _002).

Важно

Входные имена должны быть уникальными допустимыми идентификаторами. Если имя является недопустимым, – операция форматирования может завершиться ошибкой или привести к некорректному результату.

Примеры

Format String node example with CSV data import.

Базовый

  • Формат: Количество: {}

  • Входы: Целое число со значением 5

  • Результат: Количество: 5

Множественные значения

  • Формат: X: {}, Y: {}

  • Входы: Float 1.5, Float 2.0

  • Результат: X: 1,5, Y: 2,0

Названные входы

  • Формат: Размер: {ширина} x {высота}

  • Входы: ширина=1920, высота=1080

  • Результат: Размер: 1920 x 1080

Дополненные числа

  • Формат: Кадр_{:04}

  • Вход: Integer 12

  • Результат: Кадр_0012

Формат числа (стиль шаблона)

  • Формат: ##.00

  • Вход: Float 3.1415

  • Результат: 03.14

Путь с номером кадра

  • Формат: /вывод/изображение_{:04}.png

  • Вход: Integer 42

  • Результат: /вывод/изображение_0042.png