Объединить f-строку Python с форматированием стиля printf?Python

Программы на Python
Ответить
Anonymous
 Объединить f-строку Python с форматированием стиля printf?

Сообщение Anonymous »

Мне нужно отформатировать командную строку, в которой некоторые параметры берутся из простых переменных, а другие являются результатом более длинного выражения. F-строки Python хорошо работают с переменными, и я использую %s в стиле printf и предоставляю длинное выражение вне строки, потому что оно слишком загромождает шаблон команды, если его поместить в строку:

Код: Выделить всё

run(f"""zstd -dc {diff_file} |
git apply -p2 {exclude_args} --directory='%s'""" % (os.getcwd() + "/output"))
Я не сохранил параметр каталога в именованной переменной, поскольку он используется только один раз, в отличие от diff_file и ignore_args.
Есть ли более чистый способ избежать помещения os.getcwd() + "/output" непосредственно в f-строку, а также избежать смешивания старого синтаксиса printf %s и нового f -строки ?
Есть ли недостатки у того, как описано выше, кроме того, что это немного сбивает с толку тех, кто читает код?
Изменить: чтобы уточнить, мой вопрос заключается в том, как разместить заполнители. в f-строках без объявления дополнительных именованных переменных, а не о том, как встроить вызовы getcwd() в f-строки.

Подробнее здесь: https://stackoverflow.com/questions/792 ... formatting
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»